停止Android webview覆盖tabwidget

时间:2012-11-26 03:21:52

标签: android android-layout tabwidget

我在屏幕底部放置了一个tabwidget,上面有一个webview。当webview加载的网页内容大于屏幕时,webview会扩展为转换tabwidget - 因为layout_height在webview中设置为wrap_content,并且它位于滚动视图中。

我希望将scrollview的大小调整为可用的屏幕空间。 我的xml如下:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="0dp" >

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="-4dp"
        android:gravity="top" />

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true" >

        <ScrollView
            android:id="@+id/scroll1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scrollbars="none"
            tools:ignore="UselessParent" >

            <WebView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/webView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" 
                android:gravity="bottom"/>
        </ScrollView>

    </FrameLayout>
</RelativeLayout>

我为scrollview设置了一个设定的高度,但正如所料,它只对某个设备准确,而不是通用的。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用此xml,它将解决您的问题:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:padding="0dp" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <ScrollView
                android:id="@+id/scroll1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:scrollbars="none"
                tools:ignore="UselessParent" >

                <WebView
                    xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/webView1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="bottom" />
            </ScrollView>
        </FrameLayout>

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

</TabHost>