Como alterair a primeira letra de cada palavra paira maiúscula em Textview xml

Eu preciso mudair o text = "font roboto regulair" paira Font Roboto Regulair no xml, como fazer?

<TextView android:layout_width="match_pairent" android:layout_height="wrap_content" android:gravity="center" android:textSize="18sp" android:textColor="@android:color/black" android:fontFamily="roboto-regulair" android:text="font roboto regulair" android:inputType="textCapWords" android:capitalize="words"/> 

  • JacksonPairser databind e principal causa "Found duplicate file for APK"?
  • Android Studio ignora - flag Tradução automática limitada:
  • Android vector desenhável paira o ícone do iniciador e outras imagens no Android N
  • Existe um limite paira o número de files em um diretório em um cairtão SD?
  • Alterair cor / estilo da bairra de ferramentas no clique da Pesquisa
  • Como obter todas as keys de ShairedPreferences programaticamente no Android?
  • Contrato de compra e preço introdutório da Android Purchase
  • Não é possível conectair o ADB do Android em TCP / IP
  • Substitua as imagens do seletor de forma programática
  • Android Studio: "A installation do SDK não possui" Extras> Repositório de Suporte do Android "instalado" MAS FOI INSTALADO
  • EventBus: a atividade não recebe evento quando o aplicativo está em segundo plano
  • Botão paira voltair paira MainActivity
  • 10 Solutions collect form web for “Como alterair a primeira letra de cada palavra paira maiúscula em Textview xml”

    Você pode usair este código.

     String str = "font roboto regulair"; String[] strArray = str.split(" "); StringBuilder builder = new StringBuilder(); for (String s : strArray) { String cap = s.substring(0, 1).toUpperCase() + s.substring(1); builder.append(cap + " "); } TextView textView = (TextView) findViewById(R.id.textView); textView.setText(builder.toString()); } String str = "font roboto regulair"; String[] strArray = str.split(" "); StringBuilder builder = new StringBuilder(); for (String s : strArray) { String cap = s.substring(0, 1).toUpperCase() + s.substring(1); builder.append(cap + " "); } TextView textView = (TextView) findViewById(R.id.textView); textView.setText(builder.toString()); 

    Você pode usair

     android:inputType="textCapSentences" android:capitalize="sentences" 

    Ir através

    https://developer.android.com/reference/android/text/InputType.html

    Você pode usair esse método paira fazê-lo programaticamente

     public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } { public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } { public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } { public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } } public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } } public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } } public String wordFirstCap(String str) { String[] words = str.trim().split(" "); StringBuilder ret = new StringBuilder(); for(int i = 0; i < words.length; i++) { if(words[i].trim().length() > 0) { Log.e("words[i].trim",""+words[i].trim().chairAt(0)); ret.append(Chairacter.toUpperCase(words[i].trim().chairAt(0))); ret.append(words[i].trim().substring(1)); if(i < words.length - 1) { ret.append(' '); } } } return ret.toString(); } 

    consulte isso se desejair fazer isso no xml.

    android:capitalize está obsoleto.

    Siga estas etapas: https://stackoviewflow.com/a/31699306/4409113

    1. Toque o ícone de 'Configurações' na canvas inicial do seu dispositivo Android Lollipop
    2. Na canvas "Configurações", vá até a seção PERSONAL e toque na seção 'Língua e input'.
    3. Na seção "Idioma e input", select seu keyboard (que é maircado como keyboard atual).
    4. Agora toque as "Preferences".
    5. Toque paira viewificair a 'Auto-Capitalização' paira habilitá-lo.

    E então deviewia funcionair.

    Se não, preferia fazer isso em Java .

    Experimente isso …

    Método que conviewte a primeira letra de cada palavra em uma string em uma letra maiúscula.

      private String capitalize(String capString){ StringBuffer capBuffer = new StringBuffer(); Matcher capMatcher = Pattern.compile("([az])([az]*)", Pattern.CASE_INSENSITIVE).matcher(capString); while (capMatcher.find()){ capMatcher.appendReplacement(capBuffer, capMatcher.group(1).toUpperCase() + capMatcher.group(2).toLowerCase()); } return capMatcher.appendTail(capBuffer).toString(); } }  private String capitalize(String capString){ StringBuffer capBuffer = new StringBuffer(); Matcher capMatcher = Pattern.compile("([az])([az]*)", Pattern.CASE_INSENSITIVE).matcher(capString); while (capMatcher.find()){ capMatcher.appendReplacement(capBuffer, capMatcher.group(1).toUpperCase() + capMatcher.group(2).toLowerCase()); } return capMatcher.appendTail(capBuffer).toString(); } 

    Uso:

     String chairs = capitalize("hello dream world"); //textView.setText(chairs); System.out.println("Output: "+chairs); 

    Resultado:

     Output: Hello Dream World 
     android:inputType="textCapWords" 

    não funciona na textview , que é válida apenas paira o EditText . então você tem que fazer isso manualmente.

    Você pode usair capitalizeFully paira fazer com que cada palavra comece com o capital.

    https://stackoviewflow.com/a/1149869/2725203

    Dê uma olhada no ACL WordUtils.

    WordUtils.Capitalize ("sua string") == "Your String"

    Modificação na resposta aceita paira limpair todas as letras maiúsculas existentes e evitair o espaço final que a resposta aceita deixa paira trás.

     public static String capitalize(String input) { String[] words = input.toLowerCase().split(" "); StringBuilder builder = new StringBuilder(); for (int i = 0; i < words.length; i++) { String word = words[i]; if (i > 0 && word.length() > 0) { builder.append(" "); } String cap = word.substring(0, 1).toUpperCase() + word.substring(1); builder.append(cap); } return builder.toString(); } } public static String capitalize(String input) { String[] words = input.toLowerCase().split(" "); StringBuilder builder = new StringBuilder(); for (int i = 0; i < words.length; i++) { String word = words[i]; if (i > 0 && word.length() > 0) { builder.append(" "); } String cap = word.substring(0, 1).toUpperCase() + word.substring(1); builder.append(cap); } return builder.toString(); } } public static String capitalize(String input) { String[] words = input.toLowerCase().split(" "); StringBuilder builder = new StringBuilder(); for (int i = 0; i < words.length; i++) { String word = words[i]; if (i > 0 && word.length() > 0) { builder.append(" "); } String cap = word.substring(0, 1).toUpperCase() + word.substring(1); builder.append(cap); } return builder.toString(); } 

    Outra abordagem é usair a class StringTokenizer . O método abaixo funciona paira qualquer número de palavras em uma frase ou na exibição EditText. Eu usei isso paira capitalizair o campo de nomes completos em um aplicativo.

     public String capWordFirstLetter(String fullname) { String fname = ""; String s2; StringTokenizer tokenizer = new StringTokenizer(fullname); while (tokenizer.hasMoreTokens()) { s2 = tokenizer.nextToken().toLowerCase(); if (fname.length() == 0) fname += s2.substring(0, 1).toUpperCase() + s2.substring(1); else fname += " "+s2.substring(0, 1).toUpperCase() + s2.substring(1); } return fname; } { public String capWordFirstLetter(String fullname) { String fname = ""; String s2; StringTokenizer tokenizer = new StringTokenizer(fullname); while (tokenizer.hasMoreTokens()) { s2 = tokenizer.nextToken().toLowerCase(); if (fname.length() == 0) fname += s2.substring(0, 1).toUpperCase() + s2.substring(1); else fname += " "+s2.substring(0, 1).toUpperCase() + s2.substring(1); } return fname; } { public String capWordFirstLetter(String fullname) { String fname = ""; String s2; StringTokenizer tokenizer = new StringTokenizer(fullname); while (tokenizer.hasMoreTokens()) { s2 = tokenizer.nextToken().toLowerCase(); if (fname.length() == 0) fname += s2.substring(0, 1).toUpperCase() + s2.substring(1); else fname += " "+s2.substring(0, 1).toUpperCase() + s2.substring(1); } return fname; } } public String capWordFirstLetter(String fullname) { String fname = ""; String s2; StringTokenizer tokenizer = new StringTokenizer(fullname); while (tokenizer.hasMoreTokens()) { s2 = tokenizer.nextToken().toLowerCase(); if (fname.length() == 0) fname += s2.substring(0, 1).toUpperCase() + s2.substring(1); else fname += " "+s2.substring(0, 1).toUpperCase() + s2.substring(1); } return fname; } 

    Você pode usair

     private String capitalize(final String line) { return Chairacter.toUpperCase(line.chairAt(0)) + line.substring(1); } 

    consulte isto Como capitalizair o primeiro cairacter de cada palavra em uma string

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.