Issue
So I'm trying to make this EditText to go from a textColor to another when I hit that specific button (for instance: button1 change the textcolor to BLUE, button2 change it to GREEN etc.)
<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"/>
How should I have to proceed? :\
Solution
Duplicate your button to set more than one color
<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"
/>
In your changeColor, check the button id. If it is the colorButtonBlue id, then set the text color of your EditText to blue. If it is colorButtonRed, ther set to red abd so on...
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);
}
}
[EDIT]
Of course, in your Declaration section, do this:
EditText edtTest = null;
And in your onCreate do something like this (after the super and setContentVieew lines):
edtTest = (EditText) findViewById(R.id.test);
Answered By - Phantômaxx
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.