0

がありますTextView。クリックして色を変更し、アプリを終了した後に保存したいのですが、drawable フォルダーの xml ファイルでセレクター タグを使用しましたが、デフォルトの色は正しいのにクリックしても何も起こらないのはなぜですか?

セレクター xml:

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

TextViewxml:

<TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="35dp"
        android:text="Transferef Money"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@drawable/selector" />
4

3 に答える 3

0

クリックハンドラーを介して色を変更できますが、

TextView textView = new TextView(this);
  textView.setOnClickListener(new OnClickListener() {

      @Override
         public void onClick(View arg0) {
             textView.setTextColor(Color.BLACK);
      } 
});

onClick 属性を XML に追加します

<TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="35dp"
        android:text="Transferef Money"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@drawable/selector"
        android:onClick="colorise"
 />

メソッドで色を設定しcoloriseます。

また、状態が XML ファイル経由で保存されるとは思わないため、プログラムで処理する必要があります。

于 2013-09-03T15:44:39.380 に答える
0

最初にcolors.xmlで色を定義し、それらをセレクターで使用します。これは私にとってはうまくいきます。例:

<item android:state_focused="true" android:color="@color/blue_2"/>
<item android:state_pressed="true" android:color="@color/blue_2"/>
<item android:state_checked="true" android:color="@color/blue_2"/>
<item android:color="@color/black_1"/>

于 2013-09-03T15:49:28.730 に答える