Schriftgröße von TextView in Android-Anwendung ändert sich beim Ändern der Schriftgröße von nativen Einstellungen

Ich möchte meine eigene Textgröße in meiner Anwendung angeben, aber ich habe ein Problem damit.

Wenn ich die Schriftgröße in den Geräteeinstellungen TextView ändert sich auch die Schriftgröße meiner Anwendung TextView .

  • Wie man fontFamily von TextView in Android ändert
  • Android setText / R.string / Werte
  • Wie bekomme ich die Breite von textView in android
  • Android Tamil Schrift zwischen englischem Wort
  • Deklariere EditText als TextView in Android
  • Text für Festzelt dynamisch
  • TextView onClick () funktioniert nicht
  • Wie man Schriftgewicht als Licht, regelmäßig in Android
  • 6 Solutions collect form web for “Schriftgröße von TextView in Android-Anwendung ändert sich beim Ändern der Schriftgröße von nativen Einstellungen”

    Eigentlich beeinflusst die Schriftgröße der Einstellungen nur Größen in sp . Also alles, was du tun musst – definiere textSize in dp anstelle von sp , dann werden die Einstellungen die Textgröße in deiner App nicht ändern.

    Hier ist ein Link zur Dokumentation: Abmessungen

    Bitte beachten Sie jedoch, dass das erwartete Verhalten ist, dass die Schriften in allen Apps die Vorlieben des Benutzers respektieren. Es gibt viele Gründe, warum ein Benutzer die Schriftgrößen anpassen möchte, und einige von ihnen könnten sogar medizinisch – sehbehinderte Benutzer sein. Mit dp anstelle von sp für Text könnte dazu führen, dass unwillig diskriminieren einige Ihrer App-Nutzer.

    Am einfachsten ist es einfach, so etwas wie folgendes zu benutzen:

     android:textSize="32sp" 

    Wenn Sie mehr über die textSize Eigenschaft erfahren textSize , können Sie die Android-Entwicklerdokumentation überprüfen.

    Verwenden Sie die dimension Art von Ressourcen wie Sie string Ressourcen ( DOCS ) verwenden.

    In der Datei dimens.xml deklariere deine Dimensionsvariablen:

     <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="textview_height">25dp</dimen> <dimen name="textview_width">150dp</dimen> <dimen name="ball_radius">30dp</dimen> <dimen name="font_size">16sp</dimen> </resources> 

    Dann können Sie diese Werte wie folgt verwenden:

     <TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/> 

    Sie können verschiedene dimens.xml Dateien für verschiedene Arten von Bildschirmen deklarieren. Dies garantiert das gewünschte Aussehen Ihrer App auf verschiedenen Geräten.

    Wenn Sie nicht android:textSize angeben android:textSize das System verwendet die Standardwerte.

    Beachten Sie auch, dass, wenn die textSize in Code gesetzt ist, das Aufrufen von textView.setTextSize(X) die Zahl (X) als SP interpretiert. Verwenden Sie setTextSize(TypedValue.COMPLEX_UNIT_DIP, X) , um die Werte in setTextSize(TypedValue.COMPLEX_UNIT_DIP, X) .

    Es ist keine gute Sache, DIP oder SP erneut durch Code zu spezifizieren, wenn er bereits in einer dimen.xml Datei definiert ist.

    Ich denke, dass die beste Option ist, PX zu verwenden, wenn ein dimen.xml Wert verwendet wird:

     tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.txt_size)); 

    Auf diese Weise können Sie von DP auf SP umschalten, wenn es in der Datei dimen.xml benötigt wird, ohne einen Code ändern zu müssen.

    Mit font size in DPs instead of SPs in textSize löst dies. Ich vermute, Facebook-Android-App verwendet auch den gleichen Ansatz. Irgendwelche anderen Gedanken?

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.