我想创建一个ImageButton并将图像设置为保留原始大小的背景。所以我在StackOverflow上也使用了几行代码:
ImageButton retry = new ImageButton(this);
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.button2);
retry.setImageBitmap(image);
retry.setMinimumWidth(image.getWidth());
retry.setMinimumHeight(image.getHeight());
但不幸的是我获得了以下结果:
显然,我不想要"背景按钮",而只需要图片。我该怎么办?
答案 0 :(得分:5)
这取决于你的形象但是。您可以通过将样式写入按钮来实现此目的。
首先,你应该在drawables文件夹中为你的按钮定义你的形状(如果它不存在,不要犹豫,创建和定义button_shape.xml)。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- **pressed button pressed is name of image...** -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@drawable/button_focused" /> <!-- hovered -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
在样式文件中定义样式后。
<style name="button_style">
<item name="android:textColor">#ffffff</item>
<item name="android:background">@drawable/button_states</item>
</style>
并设置Button的样式属性。
答案 1 :(得分:1)
将按钮的背景设置为透明色或null。