Android自定义view控件


在平时的开发过程中简单的,Android自带的view控件不能满足我们的创意。这个时候就需要我们手动去自定义它,好让view随心所欲的创新。

好了直入主题:

第一步:定义一个类(myView)继承自View,代码如下
packagecom.android.tutor;
importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.Rect;
importandroid.graphics.Paint.Style;
importandroid.util.AttributeSet;
importandroid.view.View;
public class MyViewe xtends View{
    private Paintm Paint;
    private Context mContext;
    private static final String mString="Welcome";
    public MyView(Context context){
        super(context);
    }
    public MyView(Context context,AttributeSet attr){
        super(context,attr);
    }
    @Override
    protected void onDraw(Canvas canvas){
        //TODOAuto-generatedmethodstub
        super.onDraw(canvas);
        mPaint=newPaint();
        //设置画笔颜色
        mPaint.setColor(Color.RED);
        //设置填充
        mPaint.setStyle(Style.FILL);
        //画一个矩形,前俩个是矩形左上角坐标,后面俩个是右下角坐标
        canvas.drawRect(newRect(10,10,100,100),mPaint);
        mPaint.setColor(Color.BLUE);
        //绘制文字
        canvas.drawText(mString,10,110,mPaint);
    }
}

第二步:将我们自定义的View加入到main.xml布局文件中,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"/>
<com.android.tutor.MyView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
</LinearLayout>

这就是简单的一个实现过程,方法就是这样。如果想成长,那么你就根据这个步骤,一边查看api,一边动手写自己的view。

相关阅读: Android自定义view属性

相关内容