0

我有相对布局,里面有两个 TextView。按下RelativeLayout时如何更改文本颜色TextViews?

我试过使用选择器,但相对布局不支持文本颜色属性。

还尝试使用 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

对我有用的是设置一个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 回答
0

您可以在 RelativeLayout 上设置 onClickListener,然后在 onClick 方法中,更改代码中两个 TextView 中的文本颜色。

于 2012-06-23T12:18:23.007 回答