1

カスタムボタンを作成しました:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <gradient android:startColor="#5a803f"
                android:endColor="#446c1a" android:angle="90" />
            <stroke android:width="5dp" android:color="#3d5e1d" />
            <corners android:radius="3dp" />
            <padding android:left="8dp" android:top="8dp"
                android:right="8dp" android:bottom="8dp" />
        </shape>
    </item>
    <item android:state_focused="true">
        <shape>
            <gradient android:startColor="#5a803f"
                android:endColor="#446c1a" android:angle="90" />
            <stroke android:width="5dp" android:color="#3d5e1d" />
            <corners android:radius="3dp" />
            <padding android:left="8dp" android:top="8dp"
                android:right="8dp" android:bottom="8dp" />
        </shape>
    </item>
    <item>

    </item>

</selector>

しかし、このボタンを、マージンが定義され、上下に白い境界線がある黒い背景に配置する必要があります。そして、この背景はクリック可能であってはなりません。このようなもの:

ここに画像の説明を入力してください

どうすればこれを実装できますか?このセレクターまたはスタイルを使用して。コードサンプルを手伝ってください。

4

2 に答える 2

1

セレクターを使用してこれを実装できます

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

ボタンのレイアウト

   <?xml version="1.0" encoding="utf-8"?>
    <Button android:id="@+id/textAndIconBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text in the button"
        android:background="@drawable/button"
        android:drawableLeft="@drawable/star_icon"
        android:drawablePadding="5dip"
        android:textColor="#ffffffff"/>

詳細については、このリンクを試すことができます

于 2013-01-15T13:00:26.277 に答える
0

TableLayoutを使用してこの問題を解決しました。この場合、私のTextViewは次のようになります。

   <TableRow
    android:id="@+id/tableRow3"
    style="@style/button_row"
    >
    <Button

        android:id="@+id/btnProceed"
        style="@style/custom_button"
        android:layout_centerHorizontal="true"
        android:text="Log In"
         />
    </TableRow>

すべてのUI要素など。

于 2013-02-06T10:08:04.933 に答える