2016-07-02 11 views
0

erhalten und einstellen Ich benötige Hilfe, wie man die Farbe eines textView mit jedem Klicken einer Taste unter Verwendung Android Studios ändert.Willst du Textfarbe mit onClick

 View.OnClickListener buttonOnClickListener = new View.OnClickListener() { 
 
      @Override 
 
      public void onClick(View v) { 
 
       TextView textView = (TextView) findViewById(R.id.textView); 
 
       if (textView.getCurrentTextColor() == 0xff0000) 
 
        textView.setTextColor(0x800080); 
 
       if (textView.getCurrentTextColor() == 0xff0000) 
 
        textView.setTextColor(0x800080); 
 
      } 
 
     }; 
 

 
     changeColor.setOnClickListener(buttonOnClickListener);

Antwort

0

Sie können eine Liste von Hex-Codes oder Farben schaffen und ein gelegentliches auf diese Weise wählen:

list.get(new Random().nextInt(list.size())) 

Fügen Sie diese Anweisung in der Prozedur onClick.

Sie sollten Farben nicht fest codieren. Verwenden Sie stattdessen

0

Es sieht aus wie Ihr Problem ist, haben Sie die gleiche if-Anweisung für beide, so würde es nur ändern, wenn die Startfarbe 0x800080 war.

final TextView textView = (TextView) findViewById(R.id.textView); 

View.OnClickListener buttonOnClickListener = new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (textView.getCurrentTextColor() == 0xff0000) 
        textView.setTextColor(0x800080); 
       if (textView.getCurrentTextColor() == 0x800080) 
        textView.setTextColor(0xff0000); 
      } 
     }; 

changeColor.setOnClickListener(buttonOnClickListener); 

Hinweis: Ich außerhalb des onClick die Textview Zuordnung bewegt. Keine Notwendigkeit, findViewById bei jedem Klick aufzurufen, da es eine kostspielige Operation ist :)

Verwandte Themen