2013-07-22 8 views
12

http://docs.fusioncharts.com/charts/contents/Styles/Font.htmlWie machen Sie XML-Strings fett, unterstrichen usw.?

Ich versuchte dies, zusammen mit vielen Dingen, aber es versäumt, dies zu tun. Hier ist, was ich will.

Ich möchte ein wenig von der Zeichenfolge formatieren. Wo es fett geschrieben ist, möchte ich, dass es fett ist ... und dasselbe für andere.

Ich habe viele Tags ausprobiert ... aber es hat nichts funktioniert, und ich konnte nichts auf Google oder SO finden.

Ich weiß, wie es in einem Textview zu tun, aber das ist nicht das, was ich will ...

ich einige Text-Ressource zu einer Aktivität zu senden, die es zeigt ... Wenn ich es mit verschiedenen tat Textansichten, ich würde mehrere davon erstellen müssen, eine neue, wenn ich fett formatieren möchte, und das ist nicht sehr elegant.

Gibt es eine Möglichkeit, dies einfach in der XML-Datei zu tun? oder anders?

+0

Ein Teil der Zeichenfolge sollte eine Eigenschaft wie fett oder unterstrichen oder größer sein ... nur ein Teil der Zeichenfolge nicht die gesamte Zeichenfolge. –

Antwort

3

exemple:

<string name="ss"><font size="15"><b>Parrainage</b></font><u>subscribe</u></string> 

b = fett et u = unterstreichen ..... etc

+3

Ich sagte ausdrücklich, das funktioniert nicht. –

+1

Das funktioniert in Ihrem res/values ​​/ strings.XML, ich habe es tausendmal gemacht. Es unterscheidet sich von HTML-Tags. – MattMatt

+4

Sie müssen getText (string id) anstelle von getString verwenden –

-4

in Dimens Datei schreiben:

<dimen name="size_edittext">180dp</dimen> 

und in Ihrem XML-Layout oder Aktivität Anruf es:

android:@dimen/ size_edittext 
+1

Dies ist keine sinnvolle Antwort. Lösche diesen Beitrag. –

17

Versuchen wr appendieren Sie Ihren markierten Text in CDATA-Tags. Zum Beispiel:

<string name="ss"><![CDATA[<b>Bold.</b> <u>Underlined.</u> <i>Italic.</i> <big>Big.</big> <small>Small</small>]]></string> 

Und dann Html.fromHtml verwenden, wo immer Sie wollen, um es anzuzeigen:

Html.fromHtml(getString(R.string.ss)) 
+0

Das funktionierte für mich sehr gut –

+4

Es funktioniert nicht in Android M ... – Raghu

6

Dieses Problem treibt mich seit Jahren verrückt ist. Es ist so einfach, dass du willst, dass es funktioniert !!!

Auf jeden Fall habe ich eine Antwort hier bei http://www.coderzheaven.com/2011/06/19/styling-text-in-android-through-xml/

Der Schlüssel zu laden, ist die Ressource als CharSequence fanden diese mit getResources().getText(R.string.xxxx) werden alle Stilinformationen erhalten und ermöglicht es Ihnen, Inline-Styling-Tags zu verwenden. Mein Fehler war getString(), weil beim Laden Ihrer Ressource getString() die Zeichenfolge alle seine Stilinformationen verlieren wird.

+1

Beachten Sie, dass wenn Sie getText verwenden Sie die Möglichkeit, Platzhalter wie% s und% d zu verwenden – portfoliobuilder