反正是否有一个EditTextPreference单行?我认为默认情况下没有属性,可以做到这一点。有必要重写对象吗?有人这样做过吗?
也许android:singleLine="true"
在布局中:
你可以通过调用EditText
来获得支持你的EditTextPreference
的getEditText()
。然后用它做任何你喜欢的事情,就像常规的EditText
一样:
EditTextPreference pref=new EditTextPreference(context);
EditText editText=pref.getEditText();
editText.setSingleLine(true);
<EditTextPreference>
支持<EditText>
可用的属性,因此您应该能够使用android:inputMode
等来控制EditText
小部件的行为。
以下代码现在与androidx.preferences >= 1.1.0-alpha01
一起使用:
EditTextPreference author_name_pref = findPreference(getString(R.string.author_name_key));
if (author_name_pref != null) {
author_name_pref.setOnBindEditTextListener(new EditTextPreference.OnBindEditTextListener() {
@Override
public void onBindEditText(@NonNull EditText editText) {
editText.setSingleLine();
}
});
}