本文共 2661 字,大约阅读时间需要 8 分钟。
控件有很多属性,如 android:id、android:layout_width、android:layout_height等,但是这些属性都是系统自带的属性。使用attrs.xml文件,可以自己定义属性,下面我会写些小 demo ,比较好理解
内容如下:
其中,
表明样式名称为MyView,下面包含了两个自定义属性textColor和textSize,其中textColor是颜色(color)类的属性,textSize是尺寸(dimension)类的属性
public class MyView extends View { private Paint mPaint; private static final String mString = "Welcome to BaiYe's blog"; public MyView(Context context) { this(context,null); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); mPaint = new Paint(); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView); int textColor = a.getColor(R.styleable.MyView_textColor, 0XFFFFFFFF); float textSize = a.getDimension(R.styleable.MyView_textSize, 36); mPaint.setTextSize(textSize); mPaint.setColor(textColor); a.recycle(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 设置填充 mPaint.setStyle(Paint.Style.FILL); // 画一个矩形,前俩个是矩形左上角坐标,后面俩个是右下角坐标// mPaint.setColor(Color.BLACK); canvas.drawRect(new Rect(10, 10, 100, 100), mPaint); // 绘制文字 canvas.drawText(mString, 60, 410, mPaint); }}
/>
xmlns:test=”http://schemas.android.com/apk/res-auto”一定要添加,添加之后才能在xml中自定义属性
格式如上,其中“xmlns:test”冒号后面是标签名,在下面使用时(只对当前文件可用)
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
eg:
“`
转载地址:http://zopgi.baihongyu.com/