Android(安卓)自定义View
16lz
2021-01-24
在安卓开发的过程中,安卓官方自带的控件有时候往往不能满足我们的需求。这个时候我就需要自定义。下面我们就看看自定义View:
package com.example.myview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.Style;import android.util.AttributeSet;import android.view.View;import android.view.View.OnClickListener;public class MyView extends View implements OnClickListener{private int a=0;private Paint paint;public MyView(Context context) {super(context);// TODO Auto-generated constructor stub} public MyView(Context context, AttributeSet attrs) { super(context, attrs); }@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);paint=new Paint();//定义一个画笔paint.setColor(Color.RED);//给画笔设置颜色paint.setStyle(Style.FILL);//设置画笔填充canvas.drawCircle(100, 100, 100, paint);//画个圆paint.setColor(Color.BLUE);//给画面设置颜色paint.setTextSize(20);//设置字体大小canvas.drawText("小源"+a, 100, 100, paint);setOnClickListener(this);//给View加上监听}@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stuba++;invalidate();//重新绘制}}
在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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" ><com.example.myview.MyView android:layout_width="wrap_content" android:layout_height="wrap_content"/></RelativeLayout>
这就完成了一个非常简单的自定义View.程序路上一起努力,加油!
好了,一点点在进步!最终会成为大神的!
更多相关文章
- Android中Fragment之间replace(替换)的动画效果的实现
- Android(安卓)Studion样式中自带的三个item分别代表什么:
- android画笔错位问题的解决
- Android(安卓)自定义Dialog 的使用
- Android(安卓)EditText 中hint文字大小以及与输入文字颜色保存一
- Android_经典控件
- 第一篇 GridView控件