Android 如何在自定义文本视图中大写第一个字母?
在自定义文本视图中,假设第一个字符是一个数字,那么下一个字符就是一个字符。如何在大量数字中找到第一个字符。在布局xml中,添加android:capitalize=“句子”Android 如何在自定义文本视图中大写第一个字母?,android,textview,capitalize,Android,Textview,Capitalize,在自定义文本视图中,假设第一个字符是一个数字,那么下一个字符就是一个字符。如何在大量数字中找到第一个字符。在布局xml中,添加android:capitalize=“句子” String text = textView.getText().toString(); for(Character c : text){ if(c.isLetter){ //First letter found break; } android:capitalize的选项如下: android:ca
String text = textView.getText().toString();
for(Character c : text){
if(c.isLetter){
//First letter found
break;
}
android:capitalize的选项如下:
android:capitalize=“none”:不会自动将任何内容大写
android:capitalize=“句子”:将每个句子的第一个单词大写
android:capitalize=“words”:将每个单词的第一个字母大写
android:capitalize=“characters”:将每个字符大写
更新:
由于android:capitalize已被弃用,现在需要使用:
android:inputType=“textCapWords”您正在查找TextView的xml布局文件中的inputType参数。基本上,在您希望以驼峰格式设置TextView的布局文件中,添加以下行:
android:inputType = "textCapWords"
//This would capitalise the first letter in every word.
如果您只希望将TextView中的第一个字母大写,请使用以下命令
android:inputType = "textCapSentences"
//This would capitalise the first letter in every sentence.
如果您有一个包含多个句子的textView,并且您只希望将textView中的第一个字母大写,我建议您使用代码执行此操作:
String[] words = input.getText().toString().split(" ");
StringBuilder sb = new StringBuilder();
if (words[0].length() > 0) {
sb.append(Character.toUpperCase(words[0].charAt(0)) + words[0].subSequence(1, words[0].length()).toString().toLowerCase());
for (int i = 1; i < words.length; i++) {
sb.append(" ");
sb.append(Character.toUpperCase(words[i].charAt(0)) + words[i].subSequence(1, words[i].length()).toString().toLowerCase());
}
}
String titleCaseValue = sb.toString();
String[]words=input.getText().toString().split(“”);
StringBuilder sb=新的StringBuilder();
if(字[0].length()>0){
sb.append(Character.toUpperCase(words[0].charAt(0))+words[0].子序列(1,words[0].length()).toString().toLowerCase());
for(int i=1;i
希望这有帮助:)通过拆分整个单词来尝试这种方法
String input= "sentence";
String output = input.substring(0, 1).toUpperCase() + input.substring(1);
textview.setText(output);
输出:
如果您使用Kotlin,您可以选择: 首字大写:
var str = "whaever your string is..."
str.capitalize()
// Whaever your string is...
每个单词大写
var str = "whaever your string is..."
val space = " "
val splitedStr = str.split(space)
str = splitedStr.joinToString (space){
it.capitalize()
}
// Whaever Your String Is...
使用此函数传递字符串并返回大写字符串
public static String wordCapitalize(String words)
{
String str = "";
boolean isCap = false;
for(int i = 0; i < words.length(); i++){
if(isCap){
str += words.toUpperCase().charAt(i);
}else{
if(i==0){
str += words.toUpperCase().charAt(i);
}else {
str += words.toLowerCase().charAt(i);
}
}
if(words.charAt(i)==' '){
Utility.debug(1,TAG,"Value of i : "+i+" : "+words.charAt(i)+" : true");
isCap = true;
}else{
Utility.debug(1,TAG,"Value of i : "+i+" : "+words.charAt(i)+" : false");
isCap = false;
}
}
Utility.debug(1,TAG,"Result : "+str);
return str;
}
公共静态字符串字大写(字符串字)
{
字符串str=“”;
布尔值isCap=false;
for(int i=0;i
android:inputType=“…”的可能重复项对文本视图没有影响,只对使用键盘输入文本时的编辑文本有影响。