在Android应用程序的WebView中的HTML文本字段被软键盘隐藏

我有一个Android应用程序是一个WebView的TabHost。 我用它来加载一个特定的HTML文件,在其底部有一个文本字段。

当我触摸HTML文本框时,popup软键盘,并隐藏文本框,以便我看不到我input的内容。

这是布局:

<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabWidget android:focusableInTouchMode="false" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="63dp" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> 

我试图用android:windowSoftInputMode="adjustResize"configurationAndroidManifest.xml文件,但没有成功。 我也尝试用ScollViewreplace我的布局中的FrameLayout ,但是当应用程序正在运行时,导致我的webview无限增大..这可能是由于我在页面上运行了一些JavaScript。

我注意到,android的网页浏览器有一个漂亮的行为 – 在网页中,popup软键盘后,网页滚动顺畅,使用户可以看到焦点文本框。 我怎么能在我的应用程序中有这种行为?

Solutions Collecting From Web of "在Android应用程序的WebView中的HTML文本字段被软键盘隐藏"

我越来越疯狂没有作品android:windowSoftInputMode="adjustResize"可能会帮助,但一定要让你的应用程序android:windowSoftInputMode="adjustResize"屏幕。

删除我的应用程序的全屏解决了与softkeyboard的布局resize的问题。

 <item name="android:windowFullscreen">false</item> 

我find了这个问题的解决scheme。 (我发布这个问题大概一个星期后,我只能在今天的计算器中回答…)

我在我的代码片断,改变了WebView的高度(为TabBar有空间)。 原来,当你在WebView上调用setLayoutParams时,即使你设置了android:windowSoftInputMode="adjustResize" ,也不会再改变它的高度。

我绕过了需要改变WebView的高度,通过添加TabBar到main.xml布局文件,初始大小为0.当我增加TabBar的大小,WebView的大小自动下降,它保留了android:windowSoftInputMode="adjustResize"行为。