对于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方法实现简单的无损拉伸方法。
RSS