View类和自定义控件与实例_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > View类和自定义控件与实例

View类和自定义控件与实例

 2013/7/30 15:08:41  Seven-Hm7  博客园  我要评论(0)
  • 摘要:View是所有UI的超类,如果系统自带的布局控件不能满足我们的需求,那么我们可以继承View类来写自己的UI继承View类后还需要重写OnDraw方法,下面通过一个实例来了解:步骤:新建一个Activity继承View类实现onDraw方法在onDraw方法中设置画笔和画布控件、在xml文件中加入创建的视图图像:XML文件:<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns
  • 标签:view 实例 控件 自定义控件 自定义

View是所有UI的超类,如果系统自带的布局控件不能满足我们的需求,那么我们可以继承View类来写自己的UI

继承View类后还需要重写OnDraw方法,下面通过一个实例来了解:

步骤:

  1. 新建一个Activity
  2. 继承View类
  3. 实现onDraw方法
  4. 在onDraw方法中设置画笔和画布控件、
  5. 在xml文件中加入创建的视图

 

图像:

 

XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <com.example.itab.tab
      android:layout_width="fill_parent"
      android:layout_height="49dp"
      android:layout_alignParentBottom="true"
      />
</RelativeLayout>

 

Java文件:

package com.example.itab;
public class tab extends View {
    private Paint mp;            //声明一个画笔控件

    public tab(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        mp = new Paint();               // 新建画笔
        mp.setStyle(Paint.Style.FILL);       // 设置画笔为实心
        Rect r = new Rect();             // 新建一个矩形框
        this.getDrawingRect(r);           // 填充矩形的各个位置属性
        canvas.drawColor(0XFF000000);       // 设置画布颜色
        mp.setColor(0X00FF00);           // 设置画笔颜色
        /* 绘制一条直线,参数依次为:开始的横坐标,开始的纵坐标,结束的横坐标,结束的纵坐标,坐标由矩形来决定,用mp画笔来绘制 */
        canvas.drawLine(r.left, r.centerY(), r.right, r.centerY(), mp);
        super.onDraw(canvas);
    }
}
发表评论
用户名: 匿名