2016-06-20 1 views
-3

Wie Sie die Größe des Textes in der Textansicht basierend auf der Bildschirmgröße einstellen und dynamisch basierend auf Höhe und Breite des Bildschirms skalieren, ohne verschiedene Ordner basierend auf der Auflösung in Android zu erstellen.Textsize basierend auf der Bildschirmgröße

Vielen Dank im Voraus

+0

Ich konnte das Problem erfolgreich lösen durch Erstellen der Ordner für unterschiedliche Auflösung und Einstellen der Schriftgröße. Ich habe separate Dateien im Wertebereich unter dimens.xml erstellt, die verschiedenen Dimensionsdateien sind sw320dp, sw480dp, sw600dp, sw720dp und normale Datei. Hoffe das hilft sme1. – sushh

Antwort

1

Diese Frage hilft Ihnen, Ihre Bildschirmabmessungen in Pixeln zu erhalten.

https://stackoverflow.com/a/1016941/6286125

Sie können einige grundlegende Mathematik tun, Ihren Text zu justieren, wie Sie später wünschen.

EDIT: Wie ich bereits DisplayMetrics verwendet, würde ich es wie folgt verwenden:

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 

int myTextSize = metrics.widthPixels/10; 
textView.setTextSize(myTextSize); 

Dann können Sie einstellen, wie Sie wollen, Display Breite oder Höhe verwenden.

Falls Sie dies nicht in einer Aktivität tun, müssen Sie zuerst Ihre Aktivität abrufen, um "getWindowManager()" zu verwenden.

I, die von Breite oder Höhe ist größer, um zu überprüfen, würde empfehlen, zu wissen, ob Sie im Hoch- oder im Querformat sind und Ihre mathematischen an diesen Parameter anpassen:

int myWidth = metrics.widthPixels; 
int myHeight = metrics.heightPixels; 

if(myWidth > myHeight) { //Landscape 
    myTextSize = myWidth/10; 
} else { //Portrait 
    myTextSize = myHeight/10; 
} 
0

Ich schlage vor, Sie Größen sp für Text zu verwenden, um mehrere Bildschirme zu unterstützen.

+0

Ich versuchte mit sp, aber es löste das Problem nicht. Also habe ich verschiedene Ordner für unterschiedliche Auflösungen erstellt und die Werte entsprechend zugewiesen. – sushh

Verwandte Themen