0

Button背景として形状を使用するがあります。

state形状は、のに基づいて異なる色を持ちますButton

の xmlstate内でそれぞれの色を指定することはできますか? Button初心者の質問で申し訳ありません。ガイドをお願いします。

button_background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" >
        <shape android:shape="rectangle"  >
            <corners android:radius="10dp" />
            <solid android:color="@color/colorPrimary" />
        </shape>
    </item>
    <item android:state_focused="true">
        <shape android:shape="rectangle"  >
            <corners android:radius="10dp" />
            <solid android:color="@color/colorPrimary" />
        </shape>
    </item>
    <item >
        <shape android:shape="rectangle"  >
            <corners android:radius="10dp" />
            <solid android:color="@color/colorWhite" />
        </shape>
    </item>
</selector>

現在の呼び方

    <Button
        android:id="@+id/loginButton"
        android:background="@drawable/button_background"
        android:text="@string/login_button_title"/>
4

2 に答える 2

0

XML で色の状態のリストを作成します。

res/color/button_bg.xml:

<selector xmlns:android="...">
    <item android:color="@color/colorPrimary" android:state_focused="true" />
    <item android:color="@color/colorPrimary" android:state_pressed="true" />
    <item android:color="@color/colorWhite" />
</selector>

その後、シェイプ ドローアブルは次のカラー リソースを使用できます。

res/drawable/button_bg.xml

<shape xmlns:android="..."
    android:shape="rectangle"  >

    <corners android:radius="10dp" />
    <solid android:color="@color/button_bg" />
</shape>
于 2015-12-12T04:53:28.767 に答える