Pracuję nad małą osobistą aplikacją do listy rzeczy do zrobienia i do tej pory wszystko działało całkiem dobrze. Jest jedno małe dziwactwo, które chciałbym zrozumieć. Ilekroć idę, aby dodać nowy element, mam okno dialogowe z widokiem EditText pokazującym wewnątrz. Kiedy wybieram widok EditText, klawiatura pojawia się, aby wprowadzić tekst, tak jak powinien. W większości aplikacji domyślnie wydaje się, że klawisz Shift jest przytrzymywany dla pierwszej litery ... chociaż nie robi tego dla mojego widoku. Musi istnieć prosty sposób, aby to naprawić, ale wielokrotnie przeszukiwałem referencję i nie mogę jej znaleźć. Myślę, że musi istnieć atrybut xml dla referencji ładowanej przez Adapter, ale nie mogę się dowiedzieć, co to jest.
źródło
android:lines="7"
nie pokazuje już 7 linii (teraz domyślnie wraca do 1 linii)Wystarczy użyć
android:inputType="textCapWords"
w elemencie EditText.Na przykład:
Odwołaj się do następującego łącza: http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ainputType
źródło
Zastosuj następujący wiersz w EditText w XML.
Umożliwi także obsługę wielu linii.
źródło
lub
android:inputType="textCapSentences"
będzie działać tylko, jeśli włączona jest funkcja automatycznego ustawiania wielkich liter na klawiaturze urządzenia.źródło
Napotkałem ten sam problem, po prostu dzieląc się tym, co odkryłem. Może pomóc tobie i innym ...
Wypróbuj to na swoim układzie. Dodaj poniższy wiersz w swoim
EditText
.działa dobrze na mnie .. mam nadzieję, że działa również na ciebie ...
źródło
Zapewniam cię, że obie odpowiedzi sprawią, że pierwsza litera będzie duża i nie utworzą pojedynczego wiersza.
Jeśli chcesz to zrobić w XMl poniżej, jest kod
Jeśli chcesz to zrobić w działaniu / fragmencie itp. Poniżej znajduje się kod
PS: Jeśli masz inną właściwość, możesz ją łatwo dodać za pomocą potoku „|” symbol, po prostu upewnij się, że między właściwościami atrybutu nie ma spacji w pliku XML
źródło
Dla wielkich liter w EditText możesz wybrać dwa poniższe typy wprowadzania:
textCapSentences
Pozwoli to pierwszej literze pierwszego słowa jako Stolicy w każdym zdaniu.
textCapWords Spowoduje to, że pierwsza litera każdego słowa będzie wielka .
Jeśli chcesz oba atrybuty, po prostu użyj | podpisać za pomocą obu atrybutów
źródło
Wypróbuj ten kod, użyje on pierwszego znaku wszystkich słów.
- ustaw addTextChangedListener dla widoku EditText
edt_text.addTextChangedListener (watcher);
- Dodaj TextWatcher
źródło
Aby używać wielkich liter, możesz wykonać następujące czynności, edytując tekst:
Aby utworzyć pierwszą literę każdego słowa :
Aby utworzyć pierwszą literę każdego zdania :
Aby każda litera była wielka:
Spowoduje to jednak jedynie zmiany w klawiaturze, a użytkownik może zmienić tryb pisania literą w małych literach.
Więc to podejście nie jest bardzo doceniane, jeśli naprawdę chcesz, aby dane były w formacie wielkich liter, najpierw dodaj następującą klasę:
I wtedy,
Teraz wielkie litery każdego słowa:
Aby używać tylko pierwszego słowa:
źródło
Ustaw typ danych wejściowych w XML, a także w pliku JAVA w ten sposób,
W XML
Pozwoli również na wieloliniowy oraz w pliku JAVA,
upewnij się, że ustawienie Automatycznej kapitalizacji na klawiaturze jest włączone .
źródło
W pliku XML układu:
zestaw
android:inputType="textCapSentences"
Na
EditText
masz pierwszy alfabet pierwszego słowa każdego zdania jako kapitałLub
android:inputType="textCapWords"
w tekście EditText, aby mieć pierwszy alfabet każdego słowa jako wielką literęźródło
użyj tego kodu, aby użyć tylko wielkich liter w EditText
MainActivity.xml
MainActivity.java
źródło
Wcześniej był
android:capitalize="words"
, a obecnie jest przestarzały. Zalecaną alternatywą jest użycieandroid:inputType="textCapWords"
Pamiętaj, że zadziała to tylko wtedy, gdy włączona jest funkcja automatycznego ustawiania wielkich liter na klawiaturze urządzenia.
Aby to zrobić programowo, użyj następującej metody:
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
źródło
założyłem i moje rozwiązanie: masz 2 sposoby na rozwiązanie tego w java:
i xml:
źródło
Programowo
źródło
jeśli piszesz style w styles.xml, to
usuń właściwość android: inputType i dodaj poniższe wiersze
źródło