android自定义组件

自定义组件是自己建立一个View,通过覆写onDraw方法,为组件绘制内部的内容,绘制操作通过Canvas类来完成。

同时还要加入onTouchListener监听,来处理组件与用户的一些交互。

例如:

完成一个绘制文字的自定义组件。

public class MyView extends View {

	public MyView(Context context) {
		super(context);
	}

	public MyView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	public MyView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}

	// 最重要的一个自定义组件方法,可以在该方法中绘制内容.
	@Override
	protected void onDraw(Canvas canvas) {
		// 清空原有绘制的内容
		super.onDraw(canvas);
		// 设置绘制的属性
		Paint paint = new Paint();
		// 设置文字大小
		paint.setTextSize(16);
		paint.setColor(Color.RED);
		// 绘制一段文字
		canvas.drawText("自定义的组件中的文字", 200, 100, paint);
		// 如果想绘制别的颜色,可以进行切换
		paint.setColor(Color.BLUE);
		// 绘制线
		canvas.drawLine(100, 100, 200, 200, paint);
		paint.setColor(Color.GREEN);
		// 设置填充形式
		paint.setStyle(Style.FILL);
		// 绘制图形
		canvas.drawRect(50, 300, 150, 400, paint);

		// 绘制图片
		canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),
				R.drawable.image_file), 300, 400, paint);

	}

}

配置到布局中使用。

 <org.lsp.first.view.MyView
        android:id="@+id/my_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </org.lsp.first.view.MyView>














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值