ImageButton 使用@android:drawable/ 以编程方式设置可绘制
ImageButton set drawable using @android:drawable/ programmatically
我的 XML 布局中有以下图像按钮
<ImageButton
android:id="@+id/show_only_checked"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0"
android:src="@android:drawable/arrow_down_float"
tools:src="@android:drawable/arrow_down_float" />
太棒了。工作完美。但我想在 onClick() 事件中将其切换为代码中此可绘制对象的升级版本。每次用户单击按钮时,我都想在上下箭头之间来回切换。我似乎太笨了,无法弄清楚这一点。我试过下面的代码,没有运气。
if (ShowOnlyChecked) {
view.setBackground(Drawable.createFromPath("@android:drawable/arrow_up_float"));
} else {
view.setBackground(Drawable.createFromPath("@android:drawable/arrow_down_float"));
}
如有任何帮助,我们将不胜感激。
我的部分问题是如何将 "android.R..." 引用到可绘制对象。另一个是调用哪个方法。
尝试:
imageButton.setBackgroundResource(android.R.drawable.arrow_up_float);
您的代码将更改视图的背景图像。
按钮图片的设置方法如下:
((ImageButton) view).setImageResource(R.drawable.arrow_down_float);
当您使用 ImageButton 组件时,您在运行时设置错误,因为 Drawable.createFromPath 提供了可绘制对象的路径,例如绝对路径或所需路径。
如果要设置箭头,则尝试根据资源文件夹添加不同分辨率的箭头图像
要么
youId.setBackgroundResource(android:R.drawable.id)
或从这里获取图片
我的 XML 布局中有以下图像按钮
<ImageButton
android:id="@+id/show_only_checked"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0"
android:src="@android:drawable/arrow_down_float"
tools:src="@android:drawable/arrow_down_float" />
太棒了。工作完美。但我想在 onClick() 事件中将其切换为代码中此可绘制对象的升级版本。每次用户单击按钮时,我都想在上下箭头之间来回切换。我似乎太笨了,无法弄清楚这一点。我试过下面的代码,没有运气。
if (ShowOnlyChecked) {
view.setBackground(Drawable.createFromPath("@android:drawable/arrow_up_float"));
} else {
view.setBackground(Drawable.createFromPath("@android:drawable/arrow_down_float"));
}
如有任何帮助,我们将不胜感激。
我的部分问题是如何将 "android.R..." 引用到可绘制对象。另一个是调用哪个方法。
尝试:
imageButton.setBackgroundResource(android.R.drawable.arrow_up_float);
您的代码将更改视图的背景图像。
按钮图片的设置方法如下:
((ImageButton) view).setImageResource(R.drawable.arrow_down_float);
当您使用 ImageButton 组件时,您在运行时设置错误,因为 Drawable.createFromPath 提供了可绘制对象的路径,例如绝对路径或所需路径。
如果要设置箭头,则尝试根据资源文件夹添加不同分辨率的箭头图像
要么
youId.setBackgroundResource(android:R.drawable.id)
或从这里获取图片