0

我想为我的大多数视图添加一个按下状态,这样视图就会变暗,而不管它的背景颜色/可绘制,而无需为每个视图创建 xml 选择器

就像在启动器图标中一样。

如下图所示,当我按下谷歌分析图标时,它会变暗:

在此处输入图像描述

4

1 回答 1

1

我建议使用ColorFilter. 这是一个例子:

private ImageView mImageView;
private static final ColorFilter sDarkenFilter = new PorterDuffColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY);

public void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.grid_layout);

    mImageView = (ImageView) findViewById(R.id.image);
    mImageView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch (View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    mImageView.setColorFilter(sDarkenFilter);
                    return true;
                case MotionEvent.ACTION_UP:
                    mImageView.clearColorFilter();
                    return true;
            }
            return false;
        }
    });
}
于 2013-06-24T06:46:34.670 回答