503 Stimmen

Warum wird mein Schaltflächentext in Lollipop in GROßBUCHSTABEN erzwungen?

In meiner App "Tide Now WA", die ich kürzlich auf Kompatibilität getestet habe mit dem neuen Nexus 9 Tablet (Lollipop - API 21).

Es schreibt einige Schaltflächentexte. Diese App schreibt den Text korrekt mit Android 2.3 und Android 4.0. D.h. gemischte Groß- und Kleinbuchstaben.

Wenn die gleiche App auf meinem Nexus 9 ausgeführt wird, sind alle Buchstaben im Text großgeschrieben.

Übrigens enthält mein Manifest die folgende Aussage:

uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14"

Kann ich das in meinem Code beheben oder handelt es sich um einen Fehler im Betriebssystem? danke

714voto

Nikola Despotoski Punkte 48592

Ich habe keine Ahnung, warum das passiert, aber es gibt 3 banale Versuche, die du machen kannst:

  1. Verwende android:textAllCaps="false" in deinem layout-v21

  2. Ändere programmgesteuert die Transformationsmethode des Buttons. mButton.setTransformationMethod(null);

  3. Überprüfe deinen Style für Allcaps

Hinweis: public void setAllCaps(boolean allCaps), android:textAllCaps sind ab API-Version 14 verfügbar.

179voto

miguel Punkte 15066

Hier ist, was ich in meiner values/themes.xml gemacht habe

        <item name="buttonStyle">@style/MyButton</item>

        <item name="android:textAllCaps">false</item>

111voto

user1644002 Punkte 3221

Dies kann im Anwendungscode behoben werden, indem die TransformationMethod des Buttons gesetzt wird, z.B.

mButton.setTransformationMethod(null);

71voto

Bob bobbington Punkte 1205

Setze android:textAllCaps="false". Wenn du einen Appcompat-Stil verwendest, achte darauf, dass textAllCaps vor dem Stil steht. Andernfalls wird der Stil es überschreiben. Zum Beispiel:

android:textAllCaps="false"
style="@style/Base.TextAppearance.AppCompat"

62voto

Ashish Chaugule Punkte 1379

Füge diese Zeile im Stil hinzu

    false

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X