android: Großschreibung funktioniert nicht

7

Ich habe eine Textansicht. Ich versuche, den ersten Buchstaben in jedem Wort groß zu schreiben.

Hier ist die Textansicht:

%Vor%

So füge ich den Text hinzu:

%Vor%

Kann ich Text nicht dynamisch hinzufügen und erwarte, dass er die Wörter groß schreibt? Stört ein anderes Merkmal android:capitalize ? Ist android:capitalize defekt?

Danke für Ihre Antworten.

    
emachine 27.09.2011, 17:16
quelle

6 Antworten

13

capitalize ist im Grunde genommen nur ein KeyListener , das Sie in XML setzen können. Es gilt also nur für Texteingabe durch den Benutzer. Wie die Dokumentation besagt (Hervorhebung von mir):

  

Wenn gesetzt, wird angegeben, dass diese TextView eine textuelle Eingabemethode hat und automatisch großgeschrieben werden soll. .

Es gibt eine verwandte Frage zu Wie man den ersten Buchstaben jedes Wortes in Java groß schreibt , das einige hilfreiche Antworten enthält.

    
eldarerathis 27.09.2011, 17:27
quelle
13

Wenn Sie auf API Level 14 und höher abzielen, sollten Sie

verwenden
  

android: textAllCaps="true"

Andernfalls müssen Sie dieses Verhalten selbst implementieren.

    
Nir Pear 20.06.2012 17:25
quelle
1

Dies ist eine späte Antwort, aber ich denke, könnte jemandem helfen ...

Wenn Sie mit dem dynamischen Text im Java-Code vertraut sind, können Sie Folgendes verwenden:

%Vor%     
Ahmed 16.03.2012 17:29
quelle
0

@ Shines Antwort ist richtig. Ich weiß nicht, warum sie abgelehnt wurde. Android: Groß- und Kleinschreibung wurde in API 3 nicht weiter unterstützt. Die TextView-Dokumente geben dies leider nicht an, der Beweis ist in R.attr:

eingebettet

R.attr

Android Studio kann Sie auch nicht darüber informieren, dass dieses Attribut veraltet ist. Weitere 30 Minuten werde ich nie zurückkommen, danke google!

    
user3259330 24.01.2015 00:46
quelle
0

android:capitalize ist jetzt veraltet.

Anstatt android:capitalize="words" zu verwenden, solltest du android:inputType="textCapWords" verwenden.

Je nach Ihren Anforderungen können Sie auch mehrere Werte verwenden, z. B. android:inputType="textCapWords|textPersonName" .

    
ban-geoengineering 03.02.2016 12:42
quelle
-1

android: capitalize ist auf ICS veraltet, daher sollte es besser sein, es im Code zu machen (d. h. mit String.toUpperCase () )

Ein anderer Versuch könnte

sein %Vor%

aber ich denke, es würde einen EditText erfordern.

Ich weiß nicht, ob dies der Grund für Ihren Code ist, Welche Version zielen Sie auf ?

    
Shine 01.05.2012 16:48
quelle

Tags und Links