问答中心分类: ANDROIDEditText 的首字母大写
0
匿名用户 提问 5分钟 前

我正在开发一个小小的个人待办事项列表应用程序,到目前为止一切都运行良好。我想弄清楚一个小怪癖。每当我去添加一个新项目时,我都会有一个对话框,里面显示一个 EditText 视图。当我选择 EditText 视图时,键盘会按原样输入文本。在大多数应用程序中,默认值似乎是第一个字母的 shift 键……尽管在我看来它并没有这样做。必须有一种简单的方法来修复,但我反复搜索了参考资料,但找不到。我认为适配器加载的引用必须有一个 xml 属性,但我不知道它是什么。

16 Answers
0
Mangi Morobe 回答 5分钟 前

只需使用android:inputType="textCapWords"在您的 EditText 元素中。
例如:

<EditText
    android:id="@+id/txtName"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_weight="0.7"
    android:inputType="textCapWords"
    android:textColorHint="#aaa"
    android:hint="Name Surname"
    android:textSize="12sp" />

请参阅以下链接以供参考:http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ainputType

Ravi Bhatt 回复 5分钟 前

在代码元素中标记代码而不是使其粗体是一种很好的做法。

Andrew T. 回复 5分钟 前

这个答案并没有真正帮助OP的问题。这将大写每个字符的第一个字符单词,而不是输入文本的第一个字符(假定为一个句子)。虽然这可能对其他人有所帮助,但正确的答案是公认的答案。

0
Shivang 回答 5分钟 前

在 XML 中的 EditText 中应用以下行。

android:inputType="textCapSentences|textMultiLine"

它还将允许多线支持。

egorikem 回复 5分钟 前

这应该是一个可以接受的答案,因为这是唯一不会将 EditText 折叠成单行的解决方案

0
Lakshmanan 回答 4分钟 前
testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);

或者android:inputType="textCapSentences"仅当您的设备键盘启用自动大写设置时才有效。

Pulkit 回复 4分钟 前

谢谢,我被卡住了,因为我刚刚禁用了设备键盘自动大写设置

0
user4144348 回答 4分钟 前

我遇到了同样的问题,只是分享我的发现。可能会帮助您和其他人…
在你的布局上试试这个。在你的EditText.

android:inputType="textCapWords|textCapSentences"

对我有用..希望它也对你有用…

0
Jewel Rana 回答 4分钟 前

如果您希望每个单词的首字母大写,请使用android:inputType="textCapWords"
为了更好地理解

<EditText
    android:id="@+id/edt_description"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textCapWords"/>

如果你为每个句子大写单词然后使用它。android:inputType="textCapSentences"您的 xml 中的这一行。我的意思是在你的 EditText 中。
为了更好地理解

<EditText
    android:id="@+id/edt_description"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textCapSentences"/>