当前位置: 移动技术网 > IT编程>移动开发>Android > Android自定义Button并设置不同背景图片的方法

Android自定义Button并设置不同背景图片的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

可以挂机的网络游戏,经营面包店,亲吻姐姐哪集有色的

本文实例讲述了android自定义button并设置不同背景图片的方法。分享给大家供大家参考,具体如下:

1、自定义mybutton类

public class mybutton extends button {
//this constructormust be 
public mybutton(context context, attributeset attrs) {
 super(context, attrs);
 }
 public mybutton(context context) {
 super(context);
 }
 private paint mpaint = null;
 private string mtext;
 private int mx, my;
 public void onsettext(string text, int nleft, int nbottom, int ntextsize,
  int ntextcolor) {
 mpaint = new paint();
 mpaint.settextsize(ntextsize);
 mpaint.setcolor(ntextcolor);
 this.mtext = text;
 this.mx = nleft;
 this.my = nbottom;
 }
 private int mdownbmpid, mupbmpid;
 public void onsetbmp(int ndownid, int nupid) {
 this.mdownbmpid = ndownid;
 this.mupbmpid = nupid;
 }
 @override
 public void ondraw(canvas canvas) {
 if (mpaint != null)
  canvas.drawtext(mtext, mx, my, mpaint);
 super.ondraw(canvas);
 }
 @override
 public boolean ontouchevent(motionevent event) {
 if (event.getaction() == motionevent.action_down) {
  super.setbackgroundresource(mdownbmpid);
 } else if (event.getaction() == motionevent.action_up) {
  super.setbackgroundresource(mupbmpid);
 }
 return super.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控件。

mybutton btn = (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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网