2012-04-07 18 views
2

Ist es möglich, ein TextView-Objekt mit Text in zwei Größen zu haben?
Android Textview Inhalt Größe


Wir können die Farbe des Textinhalts mithilfe eines einzelnen TextView-Objekts mithilfe der Methode textViewObj.setText(Html.fromHtml()); ändern. Aber ist es möglich, Text in zwei Größen in dem einzelnen TextView-Objekt zu haben, wie unter

like this.

Was ich bekomme, ist unten gezeigt. Ich habe viel versucht, aber der Text ist von gleicher Größe.

like this

Antwort

2

ich mit Editext.Then geprüft habe ich kam zu wissen, dass Html.fromHtml() nicht unterstützt <font> tag.Ich verwende diesen Code

EditText text = (EditText) findViewById(R.id.title); 
text.setText(Html 
      .fromHtml("<html><h3>hello</h3><h1>hello</h1>" 
        + "<p><font size=\"5\">Font</font><font 
             size=\"10\">size</font>" 
        + "</p></html>")); 

Es zeigt Text unterschiedliche Größe hallo und hallo, aber unterschiedlichen line.But <font> Tag-Wert in zwei ändert sich nicht, irgend etwas

enter image description here

+0

den Schriftart-Tag kann ich die Farbe des Textes ändern. – MobiDev

+0

mit Schriftart können wir Farbe ändern, aber ich denke nicht, dass es möglich ist, TextSize.I ändern wird glücklich sein, wenn dies Ihnen eine Idee gab.Wenn ich verwenden, dann ist es möglich, Textsize auch ändern, aber es geht zur nächsten Zeile – Sameer

+0

Ja, Es ändert nicht die Textgröße. Mein Problem ist textview textsize ist 100sp, so dass die oben genannte "999" Nummer in 100sp gedruckt wird und Rest des Textes "mg/dL" wird mit Html.fromHtml() Methode gedruckt und ich weiß nicht die Textgröße. Jetzt denke ich daran, zwei Textviews für "999" und eins für "mg/dL" zu nehmen. Was schlägst du vor? – MobiDev

3

Sie ca Spannable verwenden:

Spannable span = new SpannableString("bigsmall"); 
span.setSpan(new RelativeSizeSpan(3f), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
tv.setText(span); 

Das gleiche Sie Woth Farbe tun können

span.setSpan(new ForegroundColorSpan(Color.GRAY), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
0

Wie ich weiß, für eine Textview können Sie einfach die ganze Textgröße der Verwendung ändern setsize() -Methode. Wie auch immer, ich würde Ihnen einen anderen Ansatz vorschlagen: Verwenden Sie zwei Textsize in einem linearen Layout, einer nach dem anderen, im horizontalen Modus. Auf diese Weise können Sie Farben/Größe/etc für jeden TextView ändern.

Edit: ein anderer Ansatz, da Sie einen HTML-Modus verwenden, ist die folgende (vielleicht mit Ihren HTML-Stilen ändern):

myTextView.setText(Html.fromHtml("<b>" + mNumbers + "</b>" + "<small>" + mSpeed + "</small>"));