我的问题在于。
android:Theme.NoTitleBar.Fullscreen
,只有一个Activity
,所有其他观看次数为Fragment
WebView
内的ViewPager Fragment
位于ScrollView
WebView
Window
未调整大小/平移我已尝试在android:windowSoftInputMode="adjustResize"
的清单中设置android:windowSoftInputMode="adjustPan"
或Activity
。还尝试在java中设置其中一个。
我的应用程序中EditText
内的正常ScrollView
确实正确调整了平移,因此用户可以看到他/她正在键入的位置。
更新:
如果没有工作解决方案来调整窗口,有没有办法让WebView
认为它的内容就像半屏高度更大,这样用户至少可以滚动输入。
答案 0 :(得分:7)
好的,所以这从一开始就是一个问题,谷歌还没有修复它,也许永远不会。但是从问题:http://code.google.com/p/android/issues/detail?id=5497我找到了可能的解决方法:https://stackoverflow.com/a/19494006/1241783
我已经覆盖了WebView
,我只是为它添加了代码,它运行良好,可以调整窗口。尽管代码并不总是有效,但由于屏幕高度不同而且可能需要进行一些调整,但在很多情况下它可以正常工作,我会继续使用它,因为它是我见过的唯一可行的解决方案。
答案 1 :(得分:3)
在ScrollView中尝试此android:isScrollContainer="false"
。根据Android docx。
如果视图将用作滚动容器,则设置此项,这意味着 它可以调整大小以缩小其整体窗口,以便有 输入法的空间
希望这能解决您的问题
答案 2 :(得分:1)
以下是我们为使其发挥作用所做的工作。 按照设计,FLAG_FULLSCREEN活动不允许在键盘可见时调整视图,我们采用自定义键盘通知侦听器和Webview OnTouch监听器的方法。
KeyboardHelper.java - 找出键盘可见性
Webview Full-Screen Activity Adjustment - 根据通知和触摸点调整网络视图。
希望它有所帮助!
答案 3 :(得分:0)
键盘打开时,我的代码也无法调整大小。
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/simple_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
/>
我删除了(android:scrollbars =“ none”)语句,它起作用了!因此,这意味着应用仅在容器可滚动时才调整自身大小。因此默认情况下,webview容器在内部可滚动区域。