当前位置:首页 > 青鸟知识 > android

View类和自界说控件与实例

来源:湖南新途教育 发布日期:2016-05-21
摘要:View是一切UI的超类,若是系统自带的构造控件不克不及知足我们的需求,那末我们能够担当View类来写自身的UI。

View是一切UI的超类,若是系统自带的构造控件不克不及知足我们的需求,那末我们能够担当View类来写自身的UI。

担当View类后还需求重写OnDraw方式,上面经由过程一个实例来体会:

步伐:

新建一个Activity

担当View类

完成onDraw方式

在onDraw方式中设置画笔和画布控件、

在xml文件中插手树立的视图

图象:

XML文件:复制代码
 RelativeLayout xmlns:android= //schemas.android.com/apk/res/android    xmlns:tools= //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;publicclass tab extends View {    private Paint mp;            //声明一个画笔控件public tab(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    protectedvoid 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);    }}
复制代码



拒绝套路 试听有礼

数据已加密保证您的信息安全