Ich bin in der Lage zu So Textview Text mit verschiedenen Farben angezeigt werden mitangezeigte Taste Text mit zwei verschiedenen Farben
String redString= "<font color='#ee0000'>yay</font>";
String blackString = "<font color='#000000'>eureka</font>";
textView.setText(Html.fromHtml(redString + blackString));
aber wenn genau das gleiche mit
button.setText(...)
versucht zu tun, nicht wahr Arbeit! Weißt du, ob es im Button-Text unterschiedliche Farben geben kann? Wenn nicht, gibt es alternative Lösungen?
EDIT: Ich habe versucht beide Lösungen vorgeschlagen, aber keiner von ihnen funktioniert. Ich habe gerade ein neues Projekt sicher sein:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//first solution
String redString= "<font color='#ee0000'>yay </font>";
String blackString = "<font color='#000000'>eureka</font>";
TextView test1 = (TextView) findViewById(R.id.textView);
Button test2 = (Button) findViewById(R.id.button2);
test1.setText(Html.fromHtml(redString + blackString));
test2.setText(Html.fromHtml(redString + blackString));
//second solution
Button b = (Button) findViewById(R.id.button);
SpannableString text = new SpannableString("Hello World");
text.setSpan(new ForegroundColorSpan(Color.RED), 0, 4, 0);
text.setSpan(new ForegroundColorSpan(Color.BLUE), 5, text.length(), 0);
b.setText(text, TextView.BufferType.SPANNABLE);
}
}
And this is the result (sorry, aber ich nicht das Bild aufgrund der niedrigen Ruf angezeigt werden kann)
Ich AS 2.3.3 unter Windows 10. Die Verwendung von Emulator verwendet Android 7 mit API 25. Danke für Ihre Hilfe!
Sie können einfaches lineares Layout (horizontal) mit Textansicht als Schaltfläche und setOnClickListener in diesem linearen Layout verwenden. –
überprüfen Sie SpannableString –
mögliche Lösung ist [hier] (https://stackoverflow.com/questions/19500350/use-2-or-more-colors-for-a-button-text). Mit freundlichen Grüßen –