0

内部に 2 つの TextView を含む相対レイアウトがあります。RelativeLayoutが押されたときにテキストの色TextViewを変更するにはどうすればよいですか?

セレクターを使用してみましたが、相対レイアウトはテキストの色属性をサポートしていません。

また、OnFocus および OnTouch リスナーを使用して相対レイアウトの押された状態をキャッチしようとしましたが、動作しません (OnFocusChangeListener) または一方の側で動作しません (OnTouchListener)。

コード:

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="243dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@drawable/singup_button_selector"
        android:clickable="true"
        android:focusable="true"
        android:gravity="center"
        android:id="@+id/sungup"
        android:textColor="@drawable/singup_button_text_selector"
        android:focusableInTouchMode="true">

        <TextView
            android:id="@+id/singupTV1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="@string/singup"
            android:textColor="#3c5775"/>




        <TextView
            android:id="@+id/singupTV2"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/singupTV1"
            android:layout_marginTop="15dp"
            android:gravity="center"
            android:text="@string/singup_extended"
            android:textColor="#506378"
            android:textSize="15dp" />

    </RelativeLayout>
4

2 に答える 2

0

RelativeLayout で onClickListener を設定してから、onClick メソッドで、コード内の両方の TextView のテキストの色を変更できます。

于 2012-06-23T12:18:23.007 に答える
0

私にとってうまくいったのは、OnTouchListener.

setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event)
    {
        if(event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE) {
            // focus in
        } else{
            // focus out
        }

        return false;
    }
});
于 2012-10-05T15:50:38.700 に答える