I'm working on a little personal todo list app and so far everything has been working quite well. There is one little quirk I'd like to figure out. Whenever I go to add a new item, I have a Dialog with an EditText view showing inside. When I select the EditText view, the keyboard comes up to enter text, as it should. In most applications, the default seems to be that the shift key is held for the first letter... although it does not do this for my view. There has to be a simple way to fix, but I've searched the reference repeatedly and cannot find it. I'm thinking there has to be an xml attribute for the reference loaded by the Adapter, but I can't find out what it is.
当前回答
如果你想在每个单词的首字母大写,然后使用android:inputType="textCapWords"
为了更好地理解
<EditText
android:id="@+id/edt_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"/>
如果你每个句子都用大写的单词,那就用它。 android:inputType=" textcapsentence "这一行在你的xml。我指的是在你的EditText中。
为了更好地理解
<EditText
android:id="@+id/edt_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"/>
其他回答
以前它是android:capitalize="words",现在已弃用。建议使用android:inputType="textCapWords"
请注意,这将只在您的设备键盘自动大写设置启用。
要通过编程实现,请使用以下方法:
setInputType (InputType。TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
在XML编辑文本中应用以下行。
android:inputType="textCapSentences|textMultiLine"
它还允许多线支持。
testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
或者android:inputType=" textcapsentence "将只工作,如果你的设备键盘自动大写设置启用。
要大写,您可以对编辑文本执行以下操作:
大写:使每个单词的第一个字母大写:
android:inputType="textCapWords"
使每个句子的第一个字母大写:
android:inputType="textCapSentences"
使每个字母大写:
android:inputType="textCapCharacters"
但这只会改变键盘和用户可以改变模式写小写字母。
因此,如果你真的想要大写格式的数据,这种方法不太受欢迎,首先添加以下类:
public class CapitalizeFirstLetter {
public static String capitaliseName(String name) {
String collect[] = name.split(" ");
String returnName = "";
for (int i = 0; i < collect.length; i++) {
collect[i] = collect[i].trim().toLowerCase();
if (collect[i].isEmpty() == false) {
returnName = returnName + collect[i].substring(0, 1).toUpperCase() + collect[i].substring(1) + " ";
}
}
return returnName.trim();
}
public static String capitaliseOnlyFirstLetter(String data)
{
return data.substring(0,1).toUpperCase()+data.substring(1);
}
}
然后,
现在把每个单词都大写:
CapitalizeFirstLetter.capitaliseName(name);
只大写第一个词:
CapitalizeFirstLetter.capitaliseOnlyFirstLetter(data);
在你的布局XML文件中:
将android: inputType = " textCapSentences " 在您的EditText中,将每个句子的第一个单词的首字母作为大写 或者android:inputType="textCapWords"在你的EditText有第一个字母的每个单词作为资本
推荐文章
- 在Android 5棒棒糖中,通知栏图标变成白色
- 从URI获取真实路径,Android奇巧新的存储访问框架
- 如何检查JSON键是否存在?
- ImageView -有高度匹配宽度?
- 如何确定在android文件的MIME类型?
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态