Android自定义组件(1)

自定义组件的基本方法:

1:让你的类(Class)继承一个现有的View 类或View的子类。
2:重载父类的一些方法:需要重载的父类方法一般以‘on’开头,如onDraw(),onMeasure()和 onKeyDown()等等。
3:这个在Activity 或则ListActivity 派生中同样适用,你需要重载一些生命周期函数和一些其他功能性的HOOK函数。
4:使用你的继承类:一旦你的继承类创建完成,你可以在基类能够使用的地方使用你的继承类,但完成功能就是你自己编写的了

首先,写一个最简单的派生自View的类:

package com.example.selectortest;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;


public class CustomView extends View {

	private Paint mPaint = null;
	private String mString = "Programmer";
	
	public CustomView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}
	
	@Override
	public void draw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.draw(canvas);
		
		mPaint = new Paint();
		mPaint.setColor(Color.BLUE);
		/*
		 * Style.FILL			填充
		 * Style.STROKE			描边
		 * Style.FILL_AND_STROKE填充且描边
		 */
		mPaint.setStyle(Style.FILL_AND_STROKE);
		canvas.drawRect(new Rect(10 ,10 ,100 ,100), mPaint);
		
		mPaint.setColor(Color.GREEN);
		mPaint.setTextSize(35.0f);
		canvas.drawText(mString, 10, 60, mPaint);
	}
}

然后就可以使用这个控件了,使用方法和其他内置控件一样。

<com.example.selectortest.CustomView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">        
    </com.example.selectortest.CustomView>
对于onMeasure方法,还是不清楚,慢慢学习吧!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值