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;
}
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