2

画面上部に 4 つのカスタム ボタン (iOS では Roundedrects として) を作成したいと考えています。

カスタム xml と shape タグを使用して取得できます。

カスタム.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle">
<solid android:color="#F9FAFC" />
<corners android:radius = "20dp"/>
</shape>

私はそれを次のように使用しています:

android:background = "@drawable/custom"

しかし、すべてのボタンのカスタム xml のように設定された色 (灰色) のみを取得していますが、これはすべきではありません。

そのカスタムボタンに別のヘキサ(#FF0000 ... )の色を設定したいのですが、このサイトでいろいろ調べた結果、質問した方がいいと思います。

あなたのオタクは誰でもリンクを指すことができます。または、上記の要件を達成する方法についていくつかのコードを手伝ってください。

注: 押された、フォーカスされた、無効のボタンの 3 つの状態は必要ありません。私はすでに正方形のボタンを 4 つ持っています。今、私はそれらをRounded Rectシェイプとして作成して魅力的に見せたいと思っています.ケースとしては、4つのボタンのdrawableフォルダーに4つのCUSTOMファイルを作成できません. 将来的には、8 ~ 10 個のボタン、またはそれ以上のボタンが必要になる可能性があるためです。*

ありがとうございました。

4

1 に答える 1

1

アイテムタグを使用する必要があります。ボタンの状態、単色とグラデーションの色、ストローク、パディング、角の半径を含む例を次に示します。これをセレクタータグに入れる必要があります。

<item android:state_enabled="false" >
    <shape>
        <solid
            android:color="#474141" />
        <stroke
            android:width="1dp"
            android:color="#474141" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
<item android:state_pressed="true" >
    <shape>
        <solid
            android:color="#f3ae1b" />
        <stroke
            android:width="1dp"
            android:color="#f3ae1b" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
<item>
    <shape>
        <gradient
            android:startColor="#990000"
            android:endColor="#990000"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#990000" />
        <corners
            android:radius="4dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

于 2013-04-16T14:11:40.720 に答える