InfoScreen

AquaBall

Top Contributor
Meine App ist eigentlich fertig.
Jetzt geht's noch ans Design rundherum, um die App "komplett" zu machen.

Wie macht ihr z.B. einen "Info" Screen.
Den hab ich zwar im Menü schon eingebaut, aber bisher nur 1 TextView.

Mit welchem View macht ist so einen ganzseitigen InfoText? (mit Formatierungen, Fett, Untersteichen, Einrückungen ...)

Und wo speichert Ihr so einen Text ab? Res.Strings scheint mir nicht geeignet.

(Jetzt kann ich ihn zwar HTML-Formatiert in XML abspeichern, aber wie ruf ich ihn dann auf?)
 
M

MiDniGG

Gast
Morgen,

also ich hab für mich zwei Methoden. Wie sinnvoll oder -los diese sind weiß ich nicht, da es ja meine sind. :-D

Wenn die Anwendung nur in einer Sprache ist, und dies auch so bleibt, dann nehme ich einfach einen StringBuilder in den ich dann, der Übersichtlichkeit wegen, Zeile für Zeile den HTML-Code reinklatsche.

Da dieser Fall jedoch nicht so oft auftritt, mache ich es bei mehrsprachigen Anwendungen bis her so:
Man kann ja so viele .xml-Dateien anlegen, wie man will. Daher habe ich auch pro Layout und Sprache eigene "string.xml"s. In die entsprechende xml für die Infoseite kommt dann eben der ganze HTML-Code. (Gibt es sicher bessere Wege...)

Auf der Infoseite an sich, also im Layout, habe ich eigentlich nur eine ScrollView (für kleine Auflösungen) um eine TextView. In der Activity dazu dann in etwa so:
Java:
textview.setText(Html.fromHtml(getString(R.string.infotext)));

Ich hoff das ist einigermaßen verständlich und auch ein bisschen sinnvoll... :-D
 

AquaBall

Top Contributor
Danke, sehr ausführlich.


Aber zu string.xml hab ich noch eine Frage:
Mehrzeiliger Text mit [XML]<string name="myText">Dies ist ein Text</string>[/XML] zu formatieren ist doch extrem unhandlich. Besonders, wenn dann noch HTML dazukommt.
Gibts da irgend etwas wie ein "Container"-konzept, oder wie verwaltet man sowas?

(Meine nächste Frage (mehrsprachig?) hast du ja schon vorweggenommen.)
 
M

MiDniGG

Gast
Hi.

Ja das ist es in der Tat... Bei mir sieht es gerade so aus... :oops:

Java:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    
    <string name="about_message"><![CDATA[<h5>Hallo Überschrift</h5>
								<p>
									Hallo Welt
								</p>
								<p>
									Blablabla
								</p>
								<p>
									<hr />
								</p>
								<p>Blub blub blub<br /><br />
									Vielen Dank!
								</p>]]></string>
</resources>

Bzgl. Mehrsprachigkeit noch ne Kleinigkeit:
Zusätzlich zum normalen values-Ordner einfach noch Ordner "values-de", "values-en" etc. erstellen.
Das System wählt dann, praktischerweise, gleich den richtigen Ordner aus bzw. den ohne Sprachzusatz als Default.

Also wenn die Systemsprache deutsch ist geht er in values-de und sucht dort nach der ID ist dort keine geht er weiter in den values-Ordner.
 

dataframe

Mitglied
Hallo,

ich habe die Info-Views bisher immer über Dialoge realisiert. Das Design habe ich meinen wünschen angepasst. Die Formatierung für fette Buchstaben und Links werden übrigens ähnlich der HTML-Inline-Formatierung getätigt.
 

Neue Themen


Oben