2017-01-28 4 views
1

Ich möchte Sie fragen, welchen globalen Code ich erstellen muss, um Text hervorzuheben, wenn er an verschiedenen Stellen der App gedrückt wird. Oder muss ich der onClick-Methode in jedem einzelnen Textkörper, der hervorgehoben werden soll, einfach eine Farblinie hinzufügen?Anwenden von Hervorhebungstext auf mehrere Textzeilen

Vielen Dank für Ihren Rat.

Um genauer zu sein mit meiner Frage, hat nur einen Blick auf diesem Code:

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     TextView text = (TextView) findViewById(R.id.textView2); 
     text.setOnClickListener(new View.OnClickListener() { 
      @Override public void onClick(View v) { 
       text.setTextColor(Color.GREEN); 
      } 
     }); 
    } 
} 

Ich habe 54 Antworten in Gruppen von 3 Antworten auf jeder Seite/Bildschirm und die gleiche Methode für jeden verwenden antwort - wird beim Drücken hervorgehoben. Ich frage mich, wie ich es richtig machen kann. Wenn ich findViewById hinzufügen (R.id.textView2); eine andere Text-ID direkt nach textView2 funktioniert nicht.

+0

Willkommen bei Stack Overflow! Bitte lesen Sie unsere [SO Fragen-Checkliste] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist), um Ihnen zu helfen, eine gute Frage zu stellen und somit eine gute Antwort zu erhalten. –

+0

Sie müssen mit Ihrer Frage viel spezifischer sein. Mit welchen Komponenten arbeiten Sie? Möchten Sie, dass der gesamte Text in allen Komponenten hervorgehoben wird? Was hast du bisher versucht? – DevilsHnd

Antwort

2

Sie müssen textSelector dafür verwenden.

entnehmen Sie bitte den Link unten, wie Wähler zu schreiben -

Android customized button; changing text color

In Ihrem Fall, wenn Sie die Textfarbe soll nach der Auswahl, grün sein, Ihre Wähler so sein sollte -

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="false" android:color="defalutColor" /> 
    <item android:state_selected="true" android:color="greenColor" /> 
</selector> 

Und Ihre Textview wird textcolor = "@ ziehbar/textSelector" haben

Und in Code müssen Sie OnClickListener für textView schreiben und in OnClick müssen Sie nur textView.setSelected(true) angeben dies macht die TextColor grün.

+0

Vielen Dank Jungs! Ich werde versuchen, es auf deine Art zu machen. – Kubs

Verwandte Themen