对于Android自带的Button按钮控件很多网友感觉不是很美观,如果界面上按钮不多,我们可以通过一种简单的方法实现Button脱胎换骨的外观,考虑到效率Android的layout方式的xml文件先不用了,毕竟控件不多模拟一个个性化Button还是很简单的,我们直接通过图片实现颜色的,代码如下:
? ? private Button mBtn; //定义我们的按钮
??? 在onCreate中加入
??? ? mBtn = (Button) findViewById(R.id.btn); //btn为layout中的Button ID
????? mBtn.setOnTouchListener(new OnTouchListener()
??????? {
????????? public boolean onTouch(View arg0,MotionEvent arg1)
????????? {
??????? ?? if(arg1.getAction() == MotionEvent.ACTION_DOWN)
??????? ?? {
??????? ??? arg0.setBackgroundResource(R.drawable.pressed); //按下的图片对应pressed
??????? ?? }
??????? ?? else if(arg1.getAction() == MotionEvent.ACTION_UP)
??????? ?? {
??????? ??? arg0.setBackgroundResource(R.drawable.normal); //常态下的图片对应normal
??????? ?? }
?????????? else if()? //这里还可以继续实现MotionEvent.ACTION_MOVE和MotionEvent.ACTION_CANCEL等实现更多的特效
?????????? return false;
????????? }
??????? });
??? 当然自己定义xml也很简单,处理下selector和android:state_focused、android:state_pressed即可,对于按键多了确实有必要定义一个xml文件,当然我们都是使用图片来实现的,考虑到拉伸需要考虑9Patch方法实现简单的无损拉伸方法。