Android中的窗口刷新
我想在启动软键盘时调整应用程序窗口的大小。因此,我将以下标记添加到manifest.xml文件中的主活动中 android:WindowsOfInputMode=“调整大小” 然而,即使在应用午餐时间,键盘也会显示,窗口也会调整大小 我希望在启动时,至少键盘不会自动显示,窗口也不会调整大小。只有当某个类型为时,才应进行窗口大小调整 有什么指导吗Android中的窗口刷新,android,Android,我想在启动软键盘时调整应用程序窗口的大小。因此,我将以下标记添加到manifest.xml文件中的主活动中 android:WindowsOfInputMode=“调整大小” 然而,即使在应用午餐时间,键盘也会显示,窗口也会调整大小 我希望在启动时,至少键盘不会自动显示,窗口也不会调整大小。只有当某个类型为时,才应进行窗口大小调整 有什么指导吗 只是为了进一步补充,我有editText,它在启动时获得控件。在添加android:windowSoftInputMode=“adjustResize”
只是为了进一步补充,我有editText,它在启动时获得控件。在添加android:windowSoftInputMode=“adjustResize”之前,完整的屏幕用于显示,当我触摸键盘时,键盘显示。我想要相同的行为,即默认情况下不应显示键盘,而是在有人触摸输入时显示并调整窗口大小,以便对代码进行以下更改 要在活动启动时隐藏键盘,请添加以下代码
public void hideSoftKeyboard() {
if(getCurrentFocus()!=null) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}
public void showSoftKeyboard(View view) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
view.requestFocus();
inputMethodManager.showSoftInput(view, 0);
}
要在edittext聚焦时显示键盘,请使用以下代码
public void hideSoftKeyboard() {
if(getCurrentFocus()!=null) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}
public void showSoftKeyboard(View view) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
view.requestFocus();
inputMethodManager.showSoftInput(view, 0);
}
在onCreate方法中调用hideSoftKeyboard()
一旦edittext获得关注,请使用下面的代码
EditText editText = (EditText)findViewById(R.id.editText);
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
//Toast.makeText(getApplicationContext(),"Focused",Toast.LENGTH_SHORT).show();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); // Resizing window programatically
showSoftKeyboard(view);
}
});
对代码进行以下更改 要在活动启动时隐藏键盘,请添加以下代码
public void hideSoftKeyboard() {
if(getCurrentFocus()!=null) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}
public void showSoftKeyboard(View view) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
view.requestFocus();
inputMethodManager.showSoftInput(view, 0);
}
要在edittext聚焦时显示键盘,请使用以下代码
public void hideSoftKeyboard() {
if(getCurrentFocus()!=null) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}
public void showSoftKeyboard(View view) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
view.requestFocus();
inputMethodManager.showSoftInput(view, 0);
}
在onCreate方法中调用hideSoftKeyboard()
一旦edittext获得关注,请使用下面的代码
EditText editText = (EditText)findViewById(R.id.editText);
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
//Toast.makeText(getApplicationContext(),"Focused",Toast.LENGTH_SHORT).show();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); // Resizing window programatically
showSoftKeyboard(view);
}
});
可以通过将此属性添加到清单文件来设置“活动”属性 喜欢,但还没试过
android:windowSoftInputMode
<activity android:windowSoftInputMode="stateHidden|adjustResize" . . . >
android:WindowsOfInputMode
您可以通过将活动属性添加到清单文件来设置活动属性 喜欢,但还没试过
android:windowSoftInputMode
<activity android:windowSoftInputMode="stateHidden|adjustResize" . . . >
android:WindowsOfInputMode
完美地添加stateHidden标记和adjustResize就达到了目的。谢谢Ric:)完美的添加stateHidden标签和adjustResize就成功了。谢谢,里克:)