and*_*eas 54 keyboard hidden android textbox webview
我创建了一个简单的iPhone/Android应用程序,包含一个普通的webview.此webview调用我的网站.
在我的网站上有几种输入类型= text或textarea的表单.当它们位于页面底部时,我遇到了问题!
1)在我的iPhone应用程序中,键盘将自动出现并将文本框推送到手机屏幕的可见区域.所以没有什么可做的.
2)但是在我的Android应用程序中,文本框将保持在同一个位置,并最终被我的键盘隐藏.所以用户唯一的选择是输入"盲".
我怎样才能解决这个问题?有没有其他人遇到这个问题?
and*_*eas 47
这就是我解决问题的方法.正如Venky所说,你必须补充一下
android:windowSoftInputMode="adjustResize"
Run Code Online (Sandbox Code Playgroud)
到AndroidManifest.xml文件中的标记.但在我们的案例中,这还不够.确保你也可以使用你的观点,网页浏览等.然后我们终于让它工作了.
San*_*dro 27
我疯android:windowSoftInputMode="adjustResize"
了似乎任何工作可能没有帮助,但一定要让你的应用程序不全屏.
删除我的应用程序的全屏解决了布局调整大小与软键盘的问题.
<item name="android:windowFullscreen">false</item>
Run Code Online (Sandbox Code Playgroud)
Siu*_*Fay 10
对于全屏模式的活动, android:windowSoftInputMode="adjustResize" 将不起作用。
https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_FULLSCREEN
全屏窗口将忽略窗口 softInputMode 字段的 SOFT_INPUT_ADJUST_RESIZE 值;窗口将保持全屏并且不会调整大小。
我在活动中使用以下方法通过设置底部填充来调整布局大小:
public void adjustResizeOnGlobalLayout(@IdRes final int viewGroupId, final WebView webView) {
final View decorView = getWindow().getDecorView();
final ViewGroup viewGroup = (ViewGroup) findViewById(viewGroupId);
decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
Rect rect = new Rect();
decorView.getWindowVisibleDisplayFrame(rect);
int paddingBottom = displayMetrics.heightPixels - rect.bottom;
if (viewGroup.getPaddingBottom() != paddingBottom) {
// showing/hiding the soft keyboard
viewGroup.setPadding(viewGroup.getPaddingLeft(), viewGroup.getPaddingTop(), viewGroup.getPaddingRight(), paddingBottom);
} else {
// soft keyboard shown/hidden and padding changed
if (paddingBottom != 0) {
// soft keyboard shown, scroll active element into view in case it is blocked by the soft keyboard
webView.evaluateJavascript("if (document.activeElement) { document.activeElement.scrollIntoView({behavior: \"smooth\", block: \"center\", inline: \"nearest\"}); }", null);
}
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44106 次 |
最近记录: |