Android 单行属性的替代项(不推荐使用)textInputItemText
我最近使用了Android 单行属性的替代项(不推荐使用)textInputItemText,android,android-edittext,Android,Android Edittext,我最近使用了textinputtext,我得到了一个lint错误,即singleLine属性是不推荐的 <android.support.design.widget.TextInputEditText android:id="@+id/my_edit_text" android:layout_width="match_parent" android:layout_height="wrap_content"
textinputtext
,我得到了一个lint错误,即singleLine
属性是不推荐的
<android.support.design.widget.TextInputEditText
android:id="@+id/my_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/string_hint_dob"
android:lines="5"/>
</android.support.design.widget.TextInputLayout>
有其他方法吗?android:singleLine
属性自那时起就被弃用了。您可以使用android:maxLines
实现相同的行为,它允许您指定任意数量的行。这比android:singleLine优越,后者限制您只允许一行
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minLines="2"
android:maxLines="2" /> <!-- can specify arbitrary number of max lines -->
android:singleLine
自API 3以来已被弃用,您必须改用android:maxLines
(在您的情况下,android:maxLines=“1”
)
反对的原因是它的性能差。无论如何,singleLine
属性不会被删除,因为它仍然是产生一些android:maxLines
无法产生的效果的唯一方法:
e、 g
如果选中文本,将在一行上生成滚动的水平文本
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="end"
android:scrollHorizontally="true" />
相反,这是行不通的:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:scrollHorizontally="true" />
始终为单行定义输入类型 例如:
inputType=“text”
您不需要做任何其他事情。在胡安·何塞·梅莱罗·戈梅兹的讲话之后,我想补充更多信息: 如果您试图将
imeAction
设置为EditText
,例如actionSearch
,设置android:maxLines=“1”
是不够的。如果您想查看搜索图标,添加android:inputType=“text”是必须的。
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:maxLines="1"
/>
使用
android:inputType=“text”
和android:maxLines=“1”
一起使用android:singleLine=“true”
替换为android:maxLines=“1”
如果您想指示imeOptions
需要添加这一行android:inputType=“number”text…”
,可能会更好,但遗憾的是,视图在片段中时不工作。请帮助使用Digits时不允许imeoption actionNext这似乎不起作用,除非您还添加了android:inputType=“text”--请参阅@Arihant answer belowAlso,android:singleLine=“true”允许检查换行符并移动到下一个字段。android:maxLines=“1”没有。我完全同意你的观点。但是有没有其他替代方法???@MashukKhan我没有找到,如果你找到一种方法,告诉我,我会为其他用户更新我的答案。如果选中文本,这将在一行上产生一个滚动的水平文本
即使我这样做了,它也不适用于我android:singleLine=“true”android:ellipsize=“end”android:ScrollHorizontal=“true”
组合maxLines=“1”
和inputType=“text”
会得到相同的行为。伟大的有时maxLines=“1”
不起作用。是inputType
保存了meI,我不知道其他人的情况,但支持小部件(AppCompatEditText和AppCompatTextView)确实需要一个inputType才能使maxLines正常工作。我已经设置了maxLines属性,但缺少inputType。你的回答真的很有帮助。谢谢Arihant。虽然只设置maxLines没有帮助,但设置inputType也有帮助。@c-an谢谢You@MauriciGuellHernandez欢迎