6

私はアンドロイドアプリケーションを開発しています

ボタンのステータスごとに異なる背景のドローアブルとテキストの色があります(押された、通常)

背景の drawable を追加できるように statelistdrawable オブジェクトを作成しましたが、今の問題はテキストの色を設定する方法です

誰でも助けてくれますか?

4

1 に答える 1

11

ボタンはTextViewであり、TextViewで呼び出すことができますbutton.setTextColor(someColorStateList)

プログラムでそれを行う方法は次のとおりです。

   ColorStateList colorStateList = new ColorStateList(
            new int[][]{
                    new int[]{R.attr.state_pressed},
                    new int[]{R.attr.state_selected},
                    new int[]{-R.attr.state_selected},
            },
            new int[]{
                    Color.GREEN,
                    Color.BLUE,
                    Color.RED});
    TextView textView = ... some textView or button
    textView.setTextColor(colorStateList);

もちろん、xml構成でも同じことができます(xmlでcolorStateListを定義し、ボタンのテキストのcolorプロパティに関連付けます)android:textColor="@drawable/mycolorstatelist"

于 2013-01-30T12:54:57.843 に答える