Android开发:如何禁用EditText软键盘上方的粘贴建议
禁用EditText软键盘上方的粘贴建议
XML布局方式
- 给EditText添加以下属性,可禁用输入法的建议栏(包含剪贴板内容按钮):
android:inputType="textNoSuggestions|textVisiblePassword"
- 部分输入法支持通过
privateImeOptions直接禁用剪贴板建议:
android:privateImeOptions="disableClipboard"
- 若同时需要禁用长按粘贴菜单,可额外添加:
android:longClickable="false"
编程方式
- 通过代码设置InputType,效果与XML方式一致:
EditText editText = findViewById(R.id.your_edittext_id); editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
- 禁用自动填充相关建议(包含剪贴板内容):
editText.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO);
- 自定义EditText重写输入连接,强制关闭建议功能(适配更多输入法):
public class NoSuggestEditText extends EditText { public NoSuggestEditText(Context context) { super(context); } public NoSuggestEditText(Context context, AttributeSet attrs) { super(context, attrs); } public NoSuggestEditText(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection ic = super.onCreateInputConnection(outAttrs); if (ic != null) { outAttrs.flags &= ~EditorInfo.FLAG_ENABLE_SUGGESTIONS; outAttrs.flags &= ~EditorInfo.FLAG_AUTO_COMPLETE; } return ic; } }
内容的提问来源于stack exchange,提问作者JoeGeC
相关产品推荐
相关产品推荐

