将图像从一个 ImageButton 传输到另一个

Transfer image from one ImageButton to another

我有两个 ImageButton,每个里面都有不同的图像。我需要找到 Java 代码,它基本上允许 ImageButton2 显示 ImageButton1 的图像。我一直在胡闹,但我认为魔术命令应该是这样的:

ImageButton2.setImageResource( ImageButton1.getImageAlpha() );

ImageButton2.setImageResource( ((BitmapDrawable) ImageButton1.getDrawable()).getBitmap() );

int id = ImageButton1.getId();
ImageButton2.setImageResource( R.drawable.(id) );

但是 none 这些编译。答案必须是这样的:

ImageButton2.setImageResource( ImageButton1.getImageResource() );

有人看到解决方案吗?我整天都在研究这个。谢谢

可以通过以下方式实现:


    Drawable drawable = imageButton1.getDrawable();
    Drawable mutatedDrawable = drawable.mutate();
    imageButton2.setImageDrawable(mutatedDrawable);

默认情况下,可绘制对象将被共享。如果您希望对一个可绘制对象所做的更改不影响附加到另一个视图的同一个可绘制对象,那么您必须明确 mutate() 可绘制对象。