Estou trabalhando em um aplicativo pessoal de lista de tarefas e, até agora, tudo está funcionando muito bem. Há uma pequena peculiaridade que eu gostaria de descobrir. Sempre que vou adicionar um novo item, tenho uma caixa de diálogo com uma visualização EditText exibida. Quando seleciono a visualização EditText, o teclado aparece para inserir texto, como deveria. Na maioria dos aplicativos, o padrão parece ser que a tecla Shift é mantida para a primeira letra ... embora não faça isso na minha opinião. Tem que haver uma maneira simples de corrigir, mas pesquisei a referência repetidamente e não consigo encontrá-la. Estou pensando que deve haver um atributo xml para a referência carregada pelo adaptador, mas não consigo descobrir o que é.
fonte
android:lines="7"
para não mostrar 7 linhas (agora padrão para 1 linha)Apenas use
android:inputType="textCapWords"
no seu elemento EditText.Por exemplo:
Consulte o seguinte link para referência: http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ainputType
fonte
Aplique a seguinte linha no seu EditText em XML.
Também permitirá suporte a várias linhas.
fonte
ou
android:inputType="textCapSentences"
só funcionará se a configuração de capitalização automática do teclado do dispositivo estiver ativada.fonte
Encontrei o mesmo problema, apenas compartilhando o que descobri. Pode ajudar você e outras pessoas ...
Tente isso no seu layout. Adicione a linha abaixo no seu
EditText
.funciona bem em mim .. espero que funcione também em você ...
fonte
Posso garantir que as duas respostas farão maiúsculas na primeira letra e não no edittext em uma única linha.
Se você quiser fazer isso em XMl abaixo está o código
Se quiser fazê-lo em atividade / fragmento etc abaixo está o código
PS: Se você estiver tendo outras propriedades, também poderá adicioná-las facilmente com um pipe "|" símbolo, verifique se não há espaço no xml entre as propriedades do atributo
fonte
Para Capitalização no EditText, você pode escolher os dois tipos de entrada abaixo:
textCapSentences
Isso permitirá que a primeira letra da primeira palavra seja maiúscula em cada frase.
textCapWords Isso permitirá que a primeira letra de cada palavra seja maiúscula.
Se você deseja os dois atributos, basta usar | assine com os dois atributos
fonte
Experimente este código, ele colocará em maiúscula o primeiro caractere de todas as palavras.
- definir addTextChangedListener para a visualização EditText
edt_text.addTextChangedListener (observador);
- Adicionar TextWatcher
fonte
Para capitalizar, você pode fazer o seguinte com editar texto:
Para tornar a primeira letra maiúscula de cada palavra :
Para colocar a primeira letra em maiúscula em cada frase :
Para colocar todas as letras em maiúsculas:
Mas isso fará apenas alterações no teclado e o usuário poderá alterar o modo para escrever uma letra minúscula.
Portanto, essa abordagem não é muito apreciada se você realmente deseja que os dados estejam no formato de letras maiúsculas, adicione a seguinte classe primeiro:
E depois,
Agora, para capitalizar cada palavra:
Para colocar em maiúscula apenas a primeira palavra:
fonte
Defina o tipo de entrada no XML e no arquivo JAVA como este,
Em XML,
Também permitirá multilinhas e no arquivo JAVA,
verifique se a configuração de capitalização automática do teclado está ativada .
fonte
No seu arquivo XML de layout:
conjunto
android:inputType="textCapSentences"
Para que você
EditText
tenha o primeiro alfabeto da primeira palavra de cada frase como maiúsculaOu
android:inputType="textCapWords"
no seu EditText para ter o primeiro alfabeto de cada palavra como maiúsculafonte
use esse código apenas para maiúsculas na primeira letra do EditText
MainActivity.xml
MainActivity.java
fonte
Anteriormente
android:capitalize="words"
, o que agora está obsoleto. A alternativa recomendada é usarandroid:inputType="textCapWords"
Observe que isso só funcionará se a configuração de capitalização automática do teclado do dispositivo estiver ativada.
Para fazer isso programaticamente, use o seguinte método:
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
fonte
eu fundei e minha solução: você tem 2 maneiras de resolvê-lo em java:
e xml:
fonte
Programaticamente
fonte
se você estiver escrevendo estilos em styles.xml,
remova a propriedade android: inputType e adicione as linhas abaixo
fonte