android图片按钮点击变灰变量效果实现(一张背景图实现效果)

之前看到别人如下实现图片按钮的点击效果,效果是有,这个是按照矩阵原理来实现的,但点击后,可能会出现灰色或亮灰效果不变,图片按钮看着比较脏。

public static final OnTouchListener TouchLight = new OnTouchListener() {

  
        public final float[] BT_SELECTED = new float[] {
        1,0,0,0,50,
        0,1,0,0,50,
        0,0,1,0,50,
        0,0,0,1,0};
       public final float[] BT_NOT_SELECTED = new float[] {
        1,0,0,0,0,
        0,1,0,0,0,
        0,0,1,0,0,
        0,0,0,1,0};
 
       @SuppressWarnings("deprecation")
@Override
       public boolean onTouch(View v, MotionEvent event) {
           if (event.getAction() == MotionEvent.ACTION_DOWN) {
                v.getBackground().setColorFilter(
                       new ColorMatrixColorFilter(BT_SELECTED));
               v.setBackgroundDrawable(v.getBackground());
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
              v.getBackground().setColorFilter(
                        BT_NOT_SELECTED);
               v.setBackgroundDrawable(v.getBackground());
           }
           return false;
       }

   };

如下改进后即可实现,               将松开函数下 v.getBackground().setColorFilter(BT_NOT_SELECTED);改为v.getBackground().setColorFilter(null);或者

v.getBackground().clearColorFilter();即可轻松去除点击后变灰的效果。实现复原。


你可能感兴趣的:(Android基础控件)