【发布时间】:2016-02-01 00:08:49
【问题描述】:
如何以编程方式更改 FloatingActionButton 或 Button 小部件的 android:src XML 属性?我在活动中定义了一个按钮,如下所示:
FloatingActionButton floatingActionButton = (FloatingActionButton) this.findViewById(R.id.start_button);
它有一个初始的android:src 设置如下:
android:src="@android:drawable/ic_media_play"
我正在尝试使用setImageResource(int id) 来更改android:src XML 属性,但是如何在单击按钮后访问诸如ic_media_pause 之类的Drawable 图标。当我尝试将 R.drawable.ic_media_pause 传递给 setImageResource() 方法时,我收到了无法解析符号错误。
floatingActionButton.setImageResource(R.drawable.ic_media_pause);
如何获取可用的 R.drawable 资源以将其作为参数传递。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您的 res/drawable 文件夹中是否有一个名为“ic_media_pause”的文件,或者这是 SDK 中包含的默认 android 图标?如果是这样,请尝试
android.R.drawable.ic_media_pause -
我正在使用 SDK 中包含的默认 android 图标库。你的建议绝对有效。你应该发表回应。顺便说一句,我可以使用
get.Resources.getIdentifier()来获取默认的 android 图标库吗? -
让我快速检查一下
-
是的,你可以,但根据文档,不鼓励这样做。 developer.android.com/reference/android/content/res/…
-
因此,如果我在可绘制文件夹中有自定义图像资源,例如,我想使用
R.drawable.custom_image而不是使用getResources().getIdentifier("custom_image", "drawable", getPackage())?这就是他们不鼓励使用标识符的意思吗?