调整ImageButton背景的图像大小

时间:2013-01-08 21:27:06

标签: android imagebutton

我想创建一个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());

但不幸的是我获得了以下结果:

ImageButton

显然,我不想要"背景按钮",而只需要图片。我该怎么办?

2 个答案:

答案 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。