1.EditText得xml配置
<!-- 如果只是想输入多行,设置android:inputType="textMultiLine",
这里设置为android:inputType="text" -->
<EditText
android:id="@+id/edt"
android:layout_width="match_parent"
android:layout_height="40dp"
android:inputType="text"
android:imeOptions="actionDone"
android:singleLine="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
2.代码中动态设置属性
edt.setHorizontallyScrolling(false);//设置横向不可滚动,就能换行
edt.setMaxLines(Integer.MAX_VALUE);
3.注册监听
getDataBinding().etModifyCarTeam.setOnEditorActionListener((textView, actionId, keyEvent) -> {
if (actionId == EditorInfo.IME_ACTION_DONE) {
Tools.hideKeyboard(getDataBinding().etModifyCarTeam);
return true;
}
return false;
});
附隐藏输入法方法
/**
* 隐藏输入法
*
* @param editW
*/
public static void hideKeyboard(@NonNull EditText editW) {
editW.clearFocus();
try {
InputMethodManager imm = (InputMethodManager) editW.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editW.getWindowToken(), 0);
} catch (Exception e) {
e.printStackTrace();
L.e("hideKeyboard:" + e.getMessage());
}
}