html-textfield-Objekt in WebView in Android-Anwendung versteckt ist, indem Sie die soft-Tastatur

Ich habe ein Android-Anwendung, die ein TabHost mit einem WebView. Ich benutze es zum laden einer bestimmten html-Datei mit einem text-Feld in Ihrem unteren Teil.

Wenn ich berühre das html-textfield, die soft-Tastatur eingeblendet und blendet die textfield, so dass ich nicht sehen kann, was ich eingegeben haben.

Hier ist das layout:

<?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>

Ich habe versucht, konfigurieren Sie die AndroidManifest.xml Datei mit android:windowSoftInputMode="adjustResize" ohne Erfolg. Ich habe auch versucht, anstelle der FrameLayout in meinem layout mit ScollView, aber das verursacht mein webview zu erhöhen, in der Größe unbegrenzt, wenn die Anwendung ausgeführt wird.. dies kann durch javascript habe ich laufen auf die Seite.

Mir aufgefallen, dass der android-browser hat eine nette Verhalten - in eine web-Seite, nachdem die virtuelle Tastatur eingeblendet, die web-Seite scrollt reibungslos, so dass das fokussierbare textfield-Objekt für den Benutzer sichtbar ist. Wie kann ich dieses Verhalten in meine Anwendung ein?

  • Ein Weg, dieses Problem kann sein, benachrichtigt zu werden, wenn die soft-keybaord angezeigt wird, und ändern Sie dann die Größe manuell die webview. Ich habe versucht, die Umsetzung onCreateInputConnection(EditorInfo) in meinem layout-Klassen, konnte aber nicht eine Benachrichtigung erhalten, wenn die Tastatur erscheint. Hilfe!!!
InformationsquelleAutor gardenofwine | 2010-04-28
Schreibe einen Kommentar