4

ボタンが押されたときにボーダーレスボタンの背景色を変更するにはどうすればよいですか。

私はこれを使用しました:

    android:background="?android:attr/selectableItemBackground"
    android:text="@string/btn_skip" 

ボタンの場所「strings.xml」で定義されているラベル「SKIP」が表示されます。

これをテストすると、押された状態でデフォルトの「青」の色が表示されることを除いて、問題ありません。マイUIテーマの他の要素である「オレンジ」「#FF8800」と一致させたい

何か案は?

よろしくお願いします...!

4

4 に答える 4

3

?android:attr / selectableItemBackgroundを使用する代わりに、次のコンテンツを含むフォルダー内のドローアブルにxmlを作成できます。

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true">

<item 
    android:state_pressed="true"
    android:drawable="@color/orange"/>
<item 
    android:state_enabled="false"
    android:drawable="@color/default"/>
<item
    android:drawable="@color/default"/>

</selector>

更新:このファイルを:btn_drawable.xmlとしてdrawableフォルダーに保存します。

?android:attr/ selectableItemBackgroundを*@drawable /btn_drawable.xml*に置き換えるだけ です。

于 2013-01-08T14:19:09.000 に答える
2

ありがとう@Nimish-Choudhary...!私はあなたのアドバイスに従いました。そして、初心者として私と同じ質問をしているすべての人に明確にするために、それをさらに説明しました。

「btntransparent.xml」という名前のxmlを作成します

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true">

<item 
    android:state_pressed="true"
    android:drawable="@color/pressed"/>
<item 
    android:state_enabled="false"
    android:drawable="@color/defaultColor"/>
<item
    android:drawable="@color/defaultColor"/>

</selector>

次に、「pressed」と「defaultColor」の色を別のxml (「colors.xml」など)に追加します

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="pressed">#CCFF8800</color>
    <color name="defaultColor">#00000000</color>
</resources>

ここで、 「#CCFF8800」はプレス状態の半透明オレンジで、「#00000000」100%透明な黒(;-)で、見えません)。カラーコードの詳細については、 Color|をご覧ください。Android開発者

次に、 「colors.xml」valuesフォルダーに入れ、 「 btntransparent.xml 」をドローアブルフォルダーに入れます。

最後のステップは、ボタンで次のように使用することです。

<Button
            android:id="@+id/id_btn_skip"
            android:background="@drawable/transparentbtn"
            android:onClick="skipToMain"
            android:text="@string/btn_skip" />

そして、それは仕事をする必要があります...!

気をつけて。
よろしく、
raisedadead

于 2013-01-11T20:55:30.193 に答える
0

私があなたを正しく理解している場合、あなたができることは、@ drawableに新しいリソース(my_ripple.xmlなど)を追加することです。

<?xml version="0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="#FF8800">
</ripple>

次に、これを背景として設定します。

于 2015-05-12T09:32:53.080 に答える
-2

テーマに以下を追加します。

<item name="android:selectableItemBackground">#FF8800</item>

デフォルトの青を上書きします。

于 2013-01-08T19:48:05.917 に答える