2016-05-23 8 views
1

Ich fand this question, und das funktioniert gut. Aber ich habe eine Ressource-Zeichenfolge, die eine Formatzeichenfolge ist, die in String.format geht.Wie man String.format verwendet, um einen formatierten Titel zu erstellen

Betrachten Sie R.string.test als This is a test: <b>%1$s</b>.

Dann ist dieser Code:

getActionBar().setTitle(String.format(getString(R.string.test), "TEST")); 

nicht fett zeigen, aber das macht (aber es zeigt nicht das ersetzt String offensichtlich):

getActionBar().setTitle(getResources().getText(R.string.test)); 

Wie kann ich String.format zum Erstellen ein formatierter Titel?

+0

Verwenden Sie einen Spannable die Schriftart zu setzen, die aktuelle Art und Weise haben Sie es, Android wird es einfach ignorieren. Sehen Sie [diese Frage] (http://stackoverflow.com/questions/3282940/set-color-of-textview-span-in-android) auf, wie man es erreicht. – t0mm13b

Antwort

1

haben Sie Html.fromHtml versucht.

getActionBar().setTitle(Html.fromHtml("<font color=#343434>" + "Your Text" + "</font>")); 

ich habe eine andere Auch dies ist ein Html String mit mehreren Leerzeichen:

getActionBar().setTitle(Html.fromHtml("<font color=#FFFFFF>" + "&nbsp&nbsp&nbsp&nbsp&nbsp" +"Your Text" + "</font>")); 

Sie können auch direkt für gehen:

setTitle(Html.fromHtml("<font color=#343434>" + "Your Text" + "</font>")); 

enter image description here

+0

Habe es einfach versucht, scheint nicht zu funktionieren. –

+0

Ich habe meine Antwort bearbeitet vielleicht wird für Sie arbeiten. Zufällig habe ich eine solche Farbe geschrieben: ## 343434 –

+0

Ich musste den HTML-Tags in meiner Ressourcendatei entkommen: https://developer.android.com/guide/topics/resources/string-resource.html –

1

String.format hat diese Syntax, zum Beispiel: String.format ("% s% d% f", „string1, myInt, myDouble); Ihre Variablentypen und Formatierung in Anführungszeichen gehen, um% voran , dann nach Anführungszeichen und dem Komma, fügen Sie Ihre Variablen - die von der in Anführungszeichen angegeben sein muss, oder es wird wahrscheinlich abstürzen

+0

Danke, aber das ist nicht das Problem. –