Ich möchte, dass ls.numproducts eine andere Größe als der Rest des Textes hat. Wie macht man?
Raghunandan
Benutze einen Spannable String
String s= "Hello Everyone";
SpannableString ss1= new SpannableString(s);
ss1.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size
ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);// set color
TextView tv= (TextView) findViewById(R.id.textview);
tv.setText(ss1);
Schnappschuss
Sie können die Zeichenfolge mit Leerzeichen teilen und der gewünschten Zeichenfolge eine Spanne hinzufügen.
String s= "Hello Everyone";
String[] each = s.split(" ");
Jetzt bewerben span zum string und füge dasselbe hinzu textview.
setSpan() return: java.lang.IndexOutOfBoundsException: setSpan (0 … 5) endet jenseits der Länge 1. Was bedeutet das?
– Adriana Carelli
2. Mai ’13 um 11:10 Uhr
Überprüfen Sie die Länge der Zeichenfolge. IndexOutOfBoundsException: Zeigt eine falsche Indexposition für Start und Ende der Spanne an. In der obigen Hallo-Länge ist 5, also habe ich die Spanne von Index 0 bis 5 angewendet
– Raghunandan
2. Mai 13 um 11:12 Uhr
Hat auf Google Glass perfekt funktioniert!
– Mohammed Arman
5. November 15 um 7:22 Uhr
Gibt es eine Möglichkeit, die kleinen Zeichen in vertikaler Richtung in die Mitte zu verschieben? Grundsätzlich sollten alle Zeichen unabhängig von der Größe vertikal zentriert sein.
– 500865
23. September 16 um 22:16 Uhr
In diesem Fall benötigen Sie wahrscheinlich zwei Textansichten, oder Sie müssen Ihre eigene Textansicht erstellen
– Raghunandan
24. September 16 um 5:17 Uhr
Joao Sousa
Nur für den Fall, dass Sie sich fragen, wie Sie mehrere verschiedene Größen in derselben Textansicht festlegen können, aber eine absolute Größe und keine relative Größe verwenden, können Sie dies mit erreichen AbsoluteSizeSpan anstelle einer RelativeSizeSpan.
Holen Sie sich einfach die Dimension in Pixel der gewünschten Textgröße
int textSize1 = getResources().getDimensionPixelSize(R.dimen.text_size_1);
int textSize2 = getResources().getDimensionPixelSize(R.dimen.text_size_2);
und dann eine neue erstellen AbsoluteSpan basierend auf dem Text
String text1 = "Hi";
String text2 = "there";
SpannableString span1 = new SpannableString(text1);
span1.setSpan(new AbsoluteSizeSpan(textSize1), 0, text1.length(), SPAN_INCLUSIVE_INCLUSIVE);
SpannableString span2 = new SpannableString(text2);
span2.setSpan(new AbsoluteSizeSpan(textSize2), 0, text2.length(), SPAN_INCLUSIVE_INCLUSIVE);
// let's put both spans together with a separator and all
CharSequence finalText = TextUtils.concat(span1, " ", span2);
Gute Ergänzung mit AbsoluteSizeSpan Beispiel
– Eugeneek
6. Juni 16 um 12:06 Uhr
@AmitGarg möchten Sie näher darauf eingehen?
– Joao Sousa
11. August 17 um 19:46 Uhr
Sie können auch verwenden AbsoluteSizeSpan(sizeInDip, true) um die Größe direkt in dp anzugeben
– Ilia Grabko
11. April 19 um 14:30 Uhr
Remmyabhavan
Sie können dies tun, indem Sie eine HTML-Zeichenfolge verwenden und den HTML-Code auf Textview setzen txtView.setText(Html.fromHtml("Your html string here"));
Beispielsweise :
txtView.setText(Html.fromHtml("<html><body><font size=5 color=red>Hello </font> World </body><html>"));`
Schöner Beitrag! Aber fromHtml ist von nun an (API >= N) veraltet. Damit dies funktioniert, tun Sie dies, um den Kompatibilitätsmodus zuzulassen: if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { txtView.setText(Html.fromHtml(“your html string”)), Html.FROM_HTML_MODE_LEGACY)); } Else {txtView.setText(Html.fromHtml(“Ihre HTML-Zeichenfolge”)); }
– statosdotcom
1. Juli 16 um 4:24 Uhr
Was ist die Einheit von “5” ? Ist es DP? Ist es sp? Wie kann ich es zu einem von denen ändern?
– Android-Entwickler
23. April 2020 um 11:28 Uhr
Farben und Familie funktionieren jedoch, Größe funktioniert nicht.