0

ここで初心者の質問:

背景が部分的に透明な PNG のボタンがあります。さまざまなプレス状態でボタンの透明度を維持しようとしています。問題は、背景画像にグラデーションを適用すると(ボタンが押されたことを示すため)、グラデーションは画像自体だけでなく、画像が占める「スペースのブロック」全体を暗くします。

画像の透明部分を透明に保つにはどうすればよいですか? 前もって感謝します...

selector_button_singleplayer.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/button_singleplayer" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient_button_singleplayer" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient_button_singleplayer" />
<item android:drawable="@drawable/button_singleplayer" />

gradient_button_singleplayer.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <bitmap android:src="@drawable/button_singleplayer"/>
</item>
<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient android:angle="90" android:startColor="#880f0f10" android:centerColor="#880d0d0f" android:endColor="#885d5d5e"/>
    </shape>
</item>
</layer-list>

私のボタン:

<Button android:id="@+id/main_menu_choose_single_player"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="25dip"
android:background="@drawable/selector_button_singleplayer"
/>
4

1 に答える 1

0

ImageButtonに行く

android:srcをbutton_singleplayerとして設定します

そしてgradient_button_singleplayer.xmlは

<shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient android:angle="90" android:startColor="#880f0f10" android:centerColor="#880d0d0f" android:endColor="#885d5d5e"/>
    </shape>

そして、selector_button_singleplayer.xmlは次のようになります

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true" android:state_pressed="false" android:drawable="@android:color/transparent" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient_button_singleplayer" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient_button_singleplayer" />
<item android:drawable="@android:color/transparent" />

そしてあなたのimageButtonは

<ImageButton android:id="@+id/main_menu_choose_single_player"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="25dip"
android:background="@drawable/selector_button_singleplayer"
android:src="@drawable/button_singleplayer"
/>
于 2012-06-12T14:29:20.017 に答える