一个入门级的Android问题:如何让EditText只显示一行,无法使用软键盘的回车键换行?
这个简单的问题也有一个小坑在里面。
EditText的xml布局文件里面有很多有关于行数的属性:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/marginNormal"
android:background="@color/white"
android:ellipsize="end"
android:imeOptions="actionSearch"
android:gravity="start|center_vertical"
android:maxLines="1"
android:lines="1"/>
除了已经过时的singleLines属性,现在还有maxLines和Lines属性可以设置。
然而你会发现,即使同时设置了maxLines=”1”和lines=”1”,你的EditText依然是可以换行的。
其实很简单,只需要加上一条属性:
android:inputType="text"
这时你设置的maxLines和lines就起作用了。
(这是个很简单的问题,stack overflow上面很容易找到这个解决方案,可是你在百度上却搜不到这个。百度前几条全是让你设置maxLines和lines的,要么是让你动态设置setOnEditorActionListener的。其实根本不需要这么麻烦。)