单击按钮更改TextView的值(颜色)

时间:2014-05-16 14:29:13

标签: android android-button textcolor

因此,当我点击该特定按钮时,我正试图让这个EditText从textColor转到另一个(例如:button1将textcolor更改为BLUE,button2将其更改为GREEN等)。

 <EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/test"
    android:id="@+id/test"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:textColor="@color/orange_test"
    android:layout_toLeftOf="@+id/colorBtn"
    android:layout_alignBottom="@+id/colorBtn"
    android:textSize="25sp"
    android:gravity="center_vertical|center_horizontal" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/colorBtn"
    android:id="@+id/colorBtn"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:onClick="changeColor"/>

我该怎么办? :\

2 个答案:

答案 0 :(得分:1)

复制按钮以设置多种颜色

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/colorBtn"
    android:id="@+id/colorBtn"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:onClick="changeColor"
/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/colorBtnRed"
    android:id="@+id/colorBtnRed"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:onClick="changeColor"
/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/colorBtnGreen"
    android:id="@+id/colorBtnGreen"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:onClick="changeColor"
/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/colorBtnBlue"
    android:id="@+id/colorBtnBlue"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:onClick="changeColor"
/>

在你的changeColor中,检查按钮ID。如果是colorButtonBlue id,则将EditText的文本颜色设置为蓝色。如果是colorButtonRed,则设置为红色等等......

public void changeColor(View v)
{
    switch(v.getId())
    {
        case R.id.colorBtnRed:
            edtTest.setTextColor(Color.RED);
            break;
        case R.id.colorBtnGreen:
            edtTest.setTextColor(Color.GREEN);
            break;
        case R.id.colorBtnBlue:
            edtTest.setTextColor(Color.BLUE);
            break;
        default:
            edtTest.setTextColor(Color.BLACK);
    }
}

<强> [编辑]

当然,在声明部分,请执行以下操作:

EditText edtTest = null;

在你的onCreate做类似的事情(在super和setContentVieew行之后):

edtTest = (EditText) findViewById(R.id.test);

答案 1 :(得分:0)

你的意思是这样的? -

button1.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            editText1.setTextColor(Color.GREEN);
                        }
                    }););