Dynamische Textgröße ändert sich je nach Tablet

8

Mit aller Kraft erreichte ich endlich das Ende meiner ersten App in Android. Und danke an alle. Aber nachdem ich zu Ende kam, wurde mir klar, dass meine App-Textgröße in allen Tablet-Größen üblich ist. Also werde ich meine Frage neu formulieren.

Problem: Ich habe meine eigene benutzerdefinierte Textgröße in der gesamten App verwendet. und einige, die mit 7-Zoll-Tablet zufrieden sind. Aber wenn ich das selbe in 8,9 Zoll und 10,1 Zoll-Tablet aussehe, sind die vielen Leerzeichen und die Textgröße ebenfalls relativ klein. Gibt es eine Möglichkeit, die Textgröße entsprechend meiner Tablet-Größe zu ändern ??? Es kann Novice Frage aussehen, aber ich habe damit zu kämpfen, weil die gleiche App, die in 7 Zoll wunderbar aussieht, verliert seine Essenz in 8,9 und 10,1 Zoll. Oder es gibt noch etwas, das ich mit meiner App für dasselbe tun könnte. Mögliche Lösung: - Wie mein Thema zeigt, gibt es eine Möglichkeit, die Textgröße zu ändern, wenn sich die Tablettgröße ändert. Entweder dynamisch oder auf andere Weise.

BEARBEITET :: Laut Cheeta Antwort, Ansatz ist richtig, aber ich kann es nicht für jedes Layout Tasten und Textfelder und andere Felder. Es gibt Hunderte solcher Felder in einer einzigen App. Kann ich es an einem bestimmten Ort tun und es als erforderliches Attribut bezeichnen? Ist Custom-Tag Ansatz, den ich suche.Ist es möglich ????

Jede Hilfe wird geschätzt. Vielen Dank im Voraus.

HINWEIS Ich habe keine Antwort erhalten, aber die Antwort des Gepards führt etwas zu einem korrekten Weg. Ich markiere seine Antwort als korrekt, obwohl es nur wenige Probleme mit der Ausrichtung gibt. Jede andere Antwort ist immer willkommen. Danke

    
Android 27.03.2012, 05:58
quelle

3 Antworten

13

Ich hatte das gleiche Problem, aber was ich erkannte sp/db sind nicht effizient für die Behandlung dieser Art von Problem, behandelte ich meine Ausrichtung und Schriftgröße bezogenen Sachen programmatisch.

Hier sind die Schritte, wie ich dieses Problem behandelt habe.

  • Berechne Bildschirmbreite und -höhe deines Geräts
  • Verwenden Sie Set TextView.setTextSize(unit, size) , wobei der Einheitenparameter TypedValue.COMPLEX_UNIT_PX und der Größenparameter Prozent der Gesamtbreite Ihres Bildschirms ist. Normalerweise ist für mich .5% der Gesamtbreite für die Schriftart geeignet. Sie können experimentieren, indem Sie andere Gesamtbreitenprozente ausprobieren, z. B. 0,4% oder 0,3%.

Auf diese Weise ist Ihre Schriftart size immer für jede Text- / Bildschirmgröße geeignet.

    
Yahya Arshad 27.03.2012, 06:21
quelle
31

Nachdem ich einige Ressourcen überprüft hatte, kam ich schließlich auf die folgende Lösung: Innerhalb des Layout-XML definiere ich die Größe des Button-Textes mit eine Dimensionsdeklaration:

%Vor%

Ich habe eine dimens.xml im Unterverzeichnis "/ values" mit dem entsprechenden Wert

erstellt %Vor%

Dann habe ich einen zweiten Werte-Ordner "/ values-sw720dp" erstellt und die alte dimens.xml hineinkopiert. In dieser dimens.xml habe ich den Schriftgrößenwert angepasst:

%Vor%

Basierend auf der aktuellen Bildschirmgröße wählt android den richtigen Dimensionswert aus. Ohne Code wird die Schriftart an die Anzeige- (und Anzeige-bezogene) Größe angepasst.

Hoffe, das hilft ...

    
Kai Altstaedt 18.08.2012 05:46
quelle
2

keine Änderung der Textsize notwendig dynamisch sp für Textsize verwenden es wird automatisch die Textgröße abhängig von den Bildschirmauflösungen anordnen .. wie im Telefon.

%Vor%     
RajaReddy PolamReddy 27.03.2012 06:11
quelle

Tags und Links