android自定义view控件
16lz
2021-01-26
在平时的开发过程中简单的,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。
更多相关文章
- 自定义Dialog宽度设定
- android状态栏一体化(改变状态栏的背景颜色)
- Android(安卓)FrameLayout布局中的控件设置居中动态设置
- 关于Android主题splash全屏和主页面的沉浸式状态栏
- TextInputEditText样式设置
- Android之EditText 属性汇总 +限定输入某些特殊字符
- Android(安卓)6.0新控件属性记录
- intent-filter的data属性详述
- Android(安卓)View坐标系