有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Android如何使ImageView在单击时更暗

正如一位iOS开发者告诉我的那样,当有人点击它时,iOS会使图像变暗(我不知道这是多么真实),所以我需要同样的东西

据我所知,我需要一个普通的选择器。xml来制作具有不同状态的绘图。 我需要的是以一种简单的方式将图像变暗,可以以某种方式绘制xml,这样我就不必使用我没有技能的Photoshop

有没有一种方法可以在xml级别这样做


共 (4) 个答案

  1. # 1 楼答案

    您可以在java类中使用以下代码:

    mView.getBackground().setColorFilter(Color.parseColor(<Color code of your choice>), PorterDuff.Mode.DARKEN);
    

    上面这一行将视图的颜色更改为您建议的颜色。parseColor()和一个类似于使用PorterDuff定义它的阴影。模式点击按钮调用上述代码,检查颜色更改是否生效

  2. # 2 楼答案

    你可以在位图后面放一个dark rectangle,然后设置Bitmap's{},而不是在xml中尝试

  3. # 3 楼答案

    我想你可以在你的图片中添加一个clickListener

    ImageView image = (ImageView) view.findViewById(R.id.image);
    icon.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    ImageView image = (ImageView)v;
                    image.setImageAlpha(alpha);
    
                }
            });
    
  4. # 4 楼答案

    我曾经

    private void darkenImage(ImageView imageView)
    {
        imageView.setColorFilter(Color.rgb(123, 123, 123), android.graphics.PorterDuff.Mode.MULTIPLY);
    }
    
    private void undarkenImage(ImageView imageView)
    {
        imageView.clearColorFilter();
    }
    
    private boolean isImageDarkened(ImageView image)
    {
        return image.getColorFilter() != null;
    }
    

    效果非常好