< meta http-equiv="description" content="当然自己定义xml也很简单,处理下selector和android:state_focused、android:state_pressed即可, 对于按键多了确实有必要定义一个xml文件,当然我们都是使用图片来实现的,考虑到拉伸需要考虑9Patch方法实现简单的无损拉伸方法"/>

Button按钮控件美化方法

[来源] 达内    [编辑] 达内   [时间]2012-12-06

当然自己定义xml也很简单,处理下selector和android:state_focused、android:state_pressed即可, 对于按键多了确实有必要定义一个xml文件,当然我们都是使用图片来实现的,考虑到拉伸需要考虑9Patch方法实现简单的无损拉伸方法

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

资源下载