Android自定义Button并设置不同背景图片的方法
本文实例讲述了Android自定义Button并设置不同背景图片的方法。分享给大家供大家参考,具体如下:
1、自定义MyButton类
publicclassMyButtonextendsButton{
//Thisconstructormustbe
publicMyButton(Contextcontext,AttributeSetattrs){
super(context,attrs);
}
publicMyButton(Contextcontext){
super(context);
}
privatePaintmPaint=null;
privateStringmText;
privateintmX,mY;
publicvoidonSetText(Stringtext,intnLeft,intnBottom,intnTextSize,
intnTextColor){
mPaint=newPaint();
mPaint.setTextSize(nTextSize);
mPaint.setColor(nTextColor);
this.mText=text;
this.mX=nLeft;
this.mY=nBottom;
}
privateintmDownBmpId,mUpBmpId;
publicvoidonSetBmp(intnDownID,intnUpID){
this.mDownBmpId=nDownID;
this.mUpBmpId=nUpID;
}
@Override
publicvoidonDraw(Canvascanvas){
if(mPaint!=null)
canvas.drawText(mText,mX,mY,mPaint);
super.onDraw(canvas);
}
@Override
publicbooleanonTouchEvent(MotionEventevent){
if(event.getAction()==MotionEvent.ACTION_DOWN){
super.setBackgroundResource(mDownBmpId);
}elseif(event.getAction()==MotionEvent.ACTION_UP){
super.setBackgroundResource(mUpBmpId);
}
returnsuper.onTouchEvent(event);
}
}
2、在xml布局文件中添加MyButton控件,像应用普通的Button控件一样。
<com.MyButton android:id="@+id/test_btn"android:layout_width="120px" android:layout_height="fill_parent"android:text="Test" android:background="@drawable/btn_u"/>
其中com.MyButton是你定义的MyButton类所在的包名
3、在onCreate()中加载MyButton控件。
MyButtonbtn=(MyButton)findViewById(R.id.test_btn); btn.onSetBmp(R.drawable.btn_d,R.drawable.btn_u);
其中btn_d表示为按下btn时背景图片,btn_u为默认状态下btn背景图片
更多关于Android控件相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下