Android 类似IPhone图片点击效果实现,点击logo变暗

代码如下:
//参数imageview 就是你要改变的图片对象 brightness就是亮度了。 面前测试 0就是不改变 恢复亮度,50 相对来说的效果面前感觉最好。

public void changeLight(ImageView imageView, int brightness) {
                ColorMatrix cMatrix = new ColorMatrix();
                cMatrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1, 0, 0,
                                brightness,// 改变亮度
                                0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 });
                imageView.setColorFilter(new ColorMatrixColorFilter(cMatrix));
}

由于我们程序的限制:在适配器中实现了ImageView的onTouchListener 方法。
public OnTouchListener onTouchListener = new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent event) {
                        switch (event.getAction()) {
                        case MotionEvent.ACTION_UP:
                                GroupHolder holder = (GroupHolder) view.getTag();
                                //onclick
                                break;
                        case MotionEvent.ACTION_DOWN:
                                changeLight(view, -50);
                                break;
                        case MotionEvent.ACTION_MOVE:
                                // changeLight(view, 0);
                                break;
                        case MotionEvent.ACTION_CANCEL:
                                changeLight(view, 0);
                                break;
                        default:
                                break;
                        }
                        return true;
                }

        };

        这段代码就可以 当用户按下去的时候 图片变暗,松开时变亮,如果你需要按下时 执行点击事件的方法 可以写在ACTION_UP里面onclick处执行。

你可能感兴趣的:(Android 类似IPhone图片点击效果实现,点击logo变暗)