0

誰かがボタンをクリックしたときにボタンのスタイルを変更しようとしています。背景とテキストの色の両方を変更したい。ただし、テキストの色のみが変更されます。そのことから、スタイルが変更されたと結論付けますが、何らかの理由で背景を上書きすることはできません。

onClick ハンドラーで次のコードを使用しています。

Button send_button = (Button) findViewById(R.id.button1);
send_button.setTextAppearance(context, R.style.activeButtonTheme);

私のstyles.xmlに関連するスタイルは次のとおりです。

<style name="buttonTheme">
    <item name="android:background">@color/white</item>
    <item name="android:textColor">@color/orange</item>
    <item name="android:paddingTop">6dp</item>
    <item name="android:paddingBottom">6dp</item>
    <item name="android:layout_margin">2dp</item>
</style>

<style name="activeButtonTheme" parent="@style/buttonTheme">
    <item name="android:background">@color/orange</item>
    <item name="android:textColor">@color/white</item>
</style>

ここで何が問題なのですか?

Java から背景色を設定したくありません。Java でスタイルを変更したいだけです。

4

1 に答える 1