Android使用AttributeSet自定义控件的方法

本文介绍如何在Android中使用AttributeSet自定义控件。通过继承View并利用Canvas、Paint等API绘制各种图形,如矩形、文字、弧线、线条及圆形。同时展示了如何在res目录下创建attr.xml文件来定义样式属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料:http://www.cnblogs.com/zwl12549/archive/2011/04/13/2015366.html

http://blog.youkuaiyun.com/Android_Tutor/article/details/5508615
http://blog.youkuaiyun.com/czh0766/article/details/5912237

Android使用AttributeSet自定义控件的方法

例子:
package www.dianmobile.bill_ming.myview;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;

public class MyView extends View{

	public MyView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		canvas.drawColor(Color.BLACK);       //绘制黑色背景
		Paint paint = new Paint();   				//创建画笔
		paint.setColor(Color.GRAY); 				//设置画笔颜色
		
		//绘制矩形
		canvas.drawRect(10, 10, 110, 110, paint);
		//字符串,以字符串下面为基准
		canvas.drawText("哈哈哈哈哈哈哈", 10, 130, paint);
		//定义一个矩形
		RectF rf1 = new RectF(10,130,110,230);
		//画弧 顺时针
		canvas.drawArc(rf1, 0, 45,true, paint);
		//画线
		canvas.drawLine(150, 10, 250, 110, paint);
		//定义一个矩形
		RectF rf2 = new RectF(150,130,250,230);
		//画圆
		canvas.drawOval(rf2, paint);
	}

	
}
res下要建一个attr.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="MyView">
        <attr name="sidebuffer" format="integer" />
    </declare-styleable>
</resources>

用时:
   private MyView mMyView = null;
   mMyView = (MyView)findViewById(R.id.myView);



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值