如何动态更改图像按钮的图像?

时间:2011-06-28 07:16:32

标签: java android android-activity imagebutton

我在ImageButtons上显示了两组图像,我通过动态设置来更改图像。 但新的/更改的图像不会反映在屏幕上。我相信它与设置图像后刷新屏幕有关。 任何人都可以帮助我如何动态更改图像按钮上的图像并显示?

- 提前致谢

5 个答案:

答案 0 :(得分:3)

请在ImageButton中将图像指定为“背景”图像而不是“src”。

前: -

<ImageButton android:id="@+id/img1" android:layout_width="wrap_content"
 android:layout_height="wrap_content" android:background="@drawable/btn_yes" />

在编码方面动态更新如下。

img1.setBackgroundResource(R.drawable.btn_no);

答案 1 :(得分:2)

答案 2 :(得分:0)

您可以使用invalidate()或postInvalidate()取决于您是否在UI线程中。

答案 3 :(得分:0)

无需刷新。从我的角度来看,就像分页一样,如果单击该按钮的事件处理的下一个按钮,只需将可绘制资源替换为要放置的内容。我从你的要求中理解了什么。你能更具体一点吗?

答案 4 :(得分:0)

正如一些人在所有情况下使用验证或postvalidate为我所说的那样。

然而,听起来Android的LevelListDrawable资源对您来说是更合适的选项 - 这允许您使用imageview上的简单SetImagelevel调用从图像列表中选择要显示的图像。