我有很多编辑文本的活动。每当我加载该活动时,键盘就会出现并占据屏幕的一半,这使得该活动看起来很糟糕。那么当我加载该活动时,有什么方法可以隐藏键盘。
问问题
21259 次
7 回答
38
在你的 onCreate() 中使用这个..
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
于 2012-12-10T12:13:49.307 回答
9
在 RootLayout 的活动 XML 文件中添加这两行,即相对或线性(无论您采用什么):
android:focusableInTouchMode="true"
在活动清单文件中添加这一行
android:windowSoftInputMode="stateHidden"
于 2012-12-10T12:14:27.097 回答
8
在你的 AndroidManifest.xml 添加属性 android:windowSoftInputMode:
<activity android:name="your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
于 2015-06-17T11:24:10.673 回答
5
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
于 2012-12-10T12:10:13.597 回答
0
您可以使用 intputmethodmangare 执行此操作...使用以下代码..
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
于 2012-12-10T12:11:55.347 回答
0
我创建了一个方法,我在 onCreate 事件中调用了所有必需的 Activity 类。在所有情况下都为我工作。
public class ClassLib {
public static void hideKeyboard(Activity activity) {
//Hide keyboard
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
}
于 2020-11-09T05:55:00.230 回答
0
将此代码放在onCrete
函数上:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
view.clearFocus();
}}, 50);
view
你的 EditText在哪里
可运行是因为代码可能在editText
渲染之前执行。
于 2019-02-08T15:05:24.433 回答