为什么不扩大视图以填补剩余空间

时间:2013-08-03 05:39:51

标签: android attributes autofill

我想展开webview1视图以填补剩余的空间。使按钮看起来总是在屏幕的底部。 我使用android:layout_weight属性为个别孩子分配权重。 但似乎行不通。我怎么能这样做,任何人都可以告诉我任何事情

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ScrollView style="@style/ScrollView" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:paddingBottom="8dp"
            android:paddingLeft="12dp"
            android:paddingRight="12dp"
            android:paddingTop="8dp" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_marginTop="12dp"
                android:orientation="vertical"
                android:layout_weight="1" >      <---here assign a weight

                <WebView
                    android:id="@+id/webview1"
                    **style="@style/update_text" />**
            </LinearLayout>

            <!-- h-line -->

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="12dp" >

                <ImageView
                    android:id="@+id/line_end"
                    style="@style/form_h_line" />
            </RelativeLayout>

            <!-- buttons -->

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="12dp"
                android:orientation="horizontal" >

                <Space
                    android:layout_width="12dp"
                    android:layout_height="wrap_content"/>

                <Button
                    android:id="@+id/button_ok"
                    style="@style/base_button"
                    android:layout_width="12dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="2"
                    android:text="OK"/>

                <Space
                    android:layout_width="12dp"
                    android:layout_height="wrap_content"/>
            </LinearLayout>
        </LinearLayout>
    </ScrollView>

</FrameLayout>

原因是,因为它适用于Framelayout,所以webview1无法自动扩展。

2 个答案:

答案 0 :(得分:0)

添加weightSum="" property to your LinearLayout

所以请使用以下内容并根据需要进行管理with wiegtSum and layout_weight同时使用LinearLayout代替<Space>代码

      <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="12dp"
            android:weightSum="3"
            android:orientation="horizontal" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_weight="1" 
                android:layout_height="wrap_content"/>

            <Button
                android:id="@+id/button_ok"
                style="@style/base_button"
                android:layout_width="12dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="OK"/>
           <LinearLayout
                android:layout_width="0dp"
                android:layout_weight="1" 
                android:layout_height="wrap_content"/>

        </LinearLayout>

答案 1 :(得分:0)

由于显而易见的原因,

fill_parent / match_parent无法在ScrollView中发挥作用 - 如果确实如此,ScrollView将毫无用处。

您的ScrollView应将fillViewPort属性设置为true。如果需要,这会使ScrollView的孩子扩展到ScrollView的高度。如果孩子大于屏幕,则该属性无效。