在 Android 中,要阻止虚拟键盘在点击 EditText 时弹出,可以通过以下方法实现:
android:name=".YourActivity"
android:windowSoftInputMode="stateHidden" />
这将使得该 Activity 默认隐藏虚拟键盘。
EditText editText = findViewById(R.id.your_edit_text);
editText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
return false;
}
});
这将在用户点击 EditText 时阻止虚拟键盘的弹出。
推荐的腾讯云相关产品和产品介绍链接地址:
前阵子在一个移动项目中,通过 的方式 绑定click 事件来提交一个表单,由于表单信息比较敏感,于是采用的post 同步提交的方式,原本到也没有什么。后来万恶的PM说 “你这个按钮呀,要固定在底部比较好” ,于是乎就通过 position:fixed 固定到底部了。那么,问题来了 , 在ios 下,虚拟键盘是浮在页面上层的,导致的结果是当键盘收起后,浮在最底部的按钮不在最底下,而跑到中间来了,(极端条件下还可能挡住输入框导致无法输入),并且随着屏幕的滚动而滚动,,(表现类似于absolute) ,,高大上的苹果也是真心坑了一回。
领取专属 10元无门槛券
手把手带您无忧上云