我在ImageButtons上显示了两组图像,我通过动态设置来更改图像。 但新的/更改的图像不会反映在屏幕上。我相信它与设置图像后刷新屏幕有关。 任何人都可以帮助我如何动态更改图像按钮上的图像并显示?
- 提前致谢
答案 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调用从图像列表中选择要显示的图像。