如何以编程方式在ImageView的启用/禁用上设置不同的图像

时间:2014-02-07 11:33:20

标签: android android-imageview

我要求更改ImageView的启用状态 我有2张图片:一张用于启用状态&另一个是残疾人国家。

不使用选择器,如何更改Image src时更改setEnabled(true/false)

那是:

imageView.setEnabled(true);
imageView - use image imgEnabled.png

imageView.setEnabled(false);
imageView - use image imgDisabled.png

谢谢

3 个答案:

答案 0 :(得分:1)

试试这个

 if(imageView.isEnabled())
{
 imageView.setBackgroundResource(R.drawable.imgEnabled);
}
else
{
 imageView.setBackgroundResource(R.drawable.imgDisabled);
}

答案 1 :(得分:1)

您可以使用setImageResource自行设置图像。 但这可能不合适,因为您的视图状态可能会在任何地方从您的代码中更改。

imageView.setEnabled(true);
imageView.setImageResource(R.drawable.imgEnabled);

imageView.setEnabled(false);
imageView.setImageResource(R.drawable.imgDisabled);

您也可以编写自己的扩展ImageView的类 并覆盖以下方法

@Override
    protected void drawableStateChanged() {

        super.drawableStateChanged();

        if(isEnabled())
        {
            //set drawable for enabled state here
        }
        else
        {
            //set drawable for disabled state here
        }
    }

答案 2 :(得分:0)

您可以使用它来更改图像资源 -

imageView.setBackgroundResource(R.drawable.image);