方法3、监听TouchEvent ,使用ColorFilter :

定义两个数组:

public final float[] BTN_PRESSED = new float[] {
2, 0, 0, 0, 2,
0, 2, 0, 0, 2,
0, 0, 2, 0, 2,
0, 0, 0, 1, 0,
};
public final float[] BTN_NOPRESSED = new float[] {
1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0,
};

//在点击事件时处理

private OnTouchListener mOnTouchListener = new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (MotionEvent.ACTION_DOWN == event.getAction()) {
v.getBackground().setColorFilter(
new ColorMatrixColorFilter(BTN_PRESSED ));
v.setBackgroundDrawable(v.getBackground());
} else {
v.getBackground().setColorFilter(
new ColorMatrixColorFilter(BTN_NOPRESSED ));
v.setBackgroundDrawable(v.getBackground());
}
return false;
}
};

btn.setOnTouchListener(mOnTouchListener);

更多相关文章

  1. Android常亮设置以及读取电量
  2. android键盘谈起和收起监听
  3. android监听网络状态,实时更新网络状态
  4. Android自定义action与permission!!!
  5. ListView监听OnItemClick无响应
  6. Android中自定义View的MeasureSpec使用
  7. android中监听layout布局
  8. [毕业设计-基于android的手机网盘的设计与实现] java中文件的soc
  9. Android(安卓)WIFI状态监控

随机推荐

  1. android解决FragmentStatePagerAdapter
  2. [Android]代码实现StateListDrawable
  3. android - 头中尾布局
  4. android baidupush
  5. Android中添加水平线
  6. Android graphics画图的点击事件处理
  7. Android中Acition和Category常量表
  8. Android Studio 无法启动虚拟机的问题
  9. android 混淆手册
  10. Android(安卓)- webview通过js调用Androi