私のボタンは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にテキストが表示されません。エミュレーターで実行すると、すべて正常に動作します...