ThedakeLaugh 2013-08-16
在平时的开发过程中简单的,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。