1

私はあまりにも多くの StackOverflow の質問をしてきましたが、まだうまくいきません。

アクティビティに多数のボタンを動的に (プログラムで) 作成します。ボタンが押されているかどうかに応じて、セレクターを使用して背景とテキストの色を変更する必要があります。

押されたときに背景が黒から白に変わるようにしましたが、テキストの色を変更する (またはそのために設定する) ことができないようです。デフォルトは黒です。

これが私が持っているものです。

Java ファイル:

monthButtons[i].setBackgroundResource(R.drawable.button_background);
monthButtons[i].setTextColor(R.color.text_color);

button_background.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" 
        android:drawable="@color/white"/>

    <item android:drawable="@color/black"/>        
</selector>

text_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
        android:textColor="@color/black" />
    <item
        android:textColor="@color/white" />
 </selector>

ボタンが押されたときにテキストの色を変更する方法を教えてもらえますか? これらのボタンのレイアウト ファイルには何も定義されていないことに注意してください。

ありがとう

4

2 に答える 2

0

Color State List Resourceを使用して、テキストの色を動的に変更できます: https://developer.android.com/guide/topics/resources/color-list-resource.html

于 2015-06-17T12:30:19.550 に答える