0

私のボタンは2つのXMLファイルを使用して、押されたときに派手な色の切り替えを行いますが、色のドローアブルに問題があります(何と呼ぶか​​わかりません)...

ここにボタンがあります

<Button
        android:background="@drawable/main_loginbtn"
        android:textColor="@color/main_loginbtn"
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:onClick="login"
        android:text="Login" />

(ハードコードされた文字列を使用すべきではないことはわかっていますが、後で変更します:)

ここは @drawable/main_loginbtn です

<?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" >
        <solid android:color="#FFFFFF"/>
        <stroke android:width="2dp"
                android:color="#00BFFF"/>
    </shape>
</item>
<item>
    <shape android:shape="rectangle" >
        <solid android:color="#00BFFF"/>
        <stroke android:width="2dp"
                android:color="#FFFFFF"/>
    </shape>
</item>
</selector>

そして最後に、これが @color/main_loginbtn ファイルです

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#00BFFF"/>
<item android:color="#FFFFFF"/>
</selector>

@color/main_loginbtn への textColor 参照を削除すると、問題が修正され、テキストがボタンに再表示されます (もちろん黒で)。したがって、問題はカラードローアブルにあると確信しています。

通常、私はこれを気にしませんが、ボタン内にテキストがない場合、wrap_content が原因で一部のボタンのスケーリングが台無しになります。

御時間ありがとうございます!


アップデート

2 つ目のランダム カラー ドローアブルを作成して、TextView の textColor 属性でテストしたところ、同じ問題が発生しました... TextView のテキスト全体が消えました。

だから私はそれがセレクターに問題があると思っていますか?

ああ、私もこの質問を台無しにしました。一言で言えば「消える」ものは何もありませんが、EclipseレイアウトUIにテキストが表示されません。エミュレーターで実行すると、すべて正常に動作します...

4

1 に答える 1