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());

しかし、残念ながら、次の結果が得られます。

ImageButton

もちろん、「背景ボタン」は必要ありませんが、画像だけが必要です。どのようにできるのか?

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>

Buttonのstyleプロパティを設定します。

于 2013-01-08T21:35:36.813 に答える
1

ボタンの背景を透明色またはnullに設定します。

于 2013-01-08T21:36:05.897 に答える