0

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

但不幸的是,我得到以下结果:

图像按钮

显然我不想要“背景按钮”,而只想要图像。我能怎么做?

4

2 回答 2

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>

并设置按钮的样式属性。

于 2013-01-08T21:35:36.813 回答
1

将按钮的背景设置为透明颜色或 null。

于 2013-01-08T21:36:05.897 回答