1

我正在尝试创建具有固定页眉、中间滚动部分和固定页脚的 Android 布局。我已经尝试了我在 StackOverlow 和网上找到的所有东西,但似乎没有什么对我有用。到目前为止,我已经花了 5-6 个小时,尝试线性和其他相关布局,但它不起作用......

下面的代码是我得到的最接近的。它有一个工作的固定页眉和中间滚动部分,但我无法让固定页脚工作......

一旦我在中间滚动部分向webView2填充了大量内容,页脚部分实际上完全消失了......

任何建议或代码更改将不胜感激。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<!-- THIS IS THE TOP FIXED SECTION - TEXTBOX AND BUTTONS BELOW  -->
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:orientation="vertical">
    <TextView
        android:id="@+id/URLtoAdFree"
        android:layout_width="fill_parent"
        android:layout_height="29dp"
        android:layout_gravity="left"
        android:background="#CACCCC"
        android:gravity="center"
        android:padding="1dip"
        android:text="Expires Soon"
        android:textColor="#C41B32"
        android:textSize="15px"
        android:textStyle="bold"
        android:visibility="gone"></TextView>
    <TableRow
        android:id="@+id/tableRow13"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/devicea"
            android:layout_width="fill_parent"
            android:layout_height="80px"
            android:layout_margin="2dp"
            android:layout_weight="1"
            android:gravity="center"
            android:padding="1dip"
            android:singleLine="false"
            android:textColor="#333333"
            android:textSize="13dp"
            android:textStyle="bold">
            <requestFocus />
        </EditText>
        <Button
            android:id="@+id/btn2"
            android:layout_marginBottom="0dp"
            style="@style/ButtonText"
            android:layout_width="82px"
            android:layout_height="82px"
            android:layout_gravity="center_horizontal"
            android:background="@drawable/setting_icon_82_82"></Button>
    </TableRow>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:orientation="vertical">
        <TableRow
            android:id="@+id/tableRow101"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">
            <Button
                android:id="@+id/speak"
                style="@style/ButtonText"
                android:layout_width="120px"
                android:layout_height="120px"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/buttonup"></Button>
            <Button
                android:id="@+id/shh"
                style="@style/ButtonText"
                android:layout_width="120px"
                android:layout_height="120px"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/shh"
                android:visibility="gone"></Button>
        </TableRow>
    </LinearLayout>

    <!-- THIS IS THE MIDDLE SCROLLING SECTION  -->
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#000000"
            android:orientation="vertical">
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:orientation="vertical">
                <WebView
                    android:id="@+id/webView2"
                    android:layout_width="fill_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="0"
                    android:background="#000000"></WebView>
            </LinearLayout>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:orientation="vertical">
                <EditText
                    android:id="@+id/deviceb"
                    android:layout_width="fill_parent"
                    android:layout_height="230dp"
                    android:layout_margin="2dp"
                    android:layout_weight="1"
                    android:background="#000000"
                    android:gravity="center"
                    android:orientation="vertical"
                    android:padding="1dip"
                    android:singleLine="false"
                    android:textColor="#ffffff"
                    android:textSize="12dp"></EditText>
            </LinearLayout>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="0dip"
                android:layout_weight="1"
                android:background="#000000"
                android:orientation="vertical"></LinearLayout>
        </LinearLayout>
    </ScrollView>

    <!-- THIS IS THE BOTTOM FIXED SECTION  -->
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="fill_parent"
            android:id="@+id/linlay"
            android:layout_height="wrap_content"
            android:background="#000000"
            android:orientation="vertical"></LinearLayout>
        <TextView
            android:id="@+id/linebreak"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:layout_gravity="left"
            android:layout_margin="1dp"
            android:background="#a9aaaa"
            android:gravity="center"
            android:padding="1dip"
            android:text=""
            android:textColor="#606060"
            android:visibility="gone"
            android:textStyle="bold"></TextView>
        <TextView
            android:id="@+id/peopleaskingtextview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_weight="0"
            android:gravity="center"
            android:padding="1dip"
            android:text=""
            android:textColor="#36A4FF"
            android:visibility="gone"
            android:textSize="18px"></TextView>
        <TextView
            android:id="@+id/topstring8"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:layout_gravity="left"
            android:layout_margin="1dp"
            android:background="#a9aaaa"
            android:gravity="center"
            android:padding="1dip"
            android:text=""
            android:textColor="#606060"
            android:textSize="25px"
            android:textStyle="bold"></TextView>
        <TextView
            android:id="@+id/nstextview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_weight="0"
            android:gravity="center"
            android:padding="1dip"
            android:text="© Copyright Note"
            android:textColor="#cccccc"
            android:textSize="10dp"></TextView>
    </LinearLayout>
</LinearLayout>

4

2 回答 2

2

使用相对布局:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
    <LinearLayout android:id="@+id/header" 
android:layout_height = "wrap_content" 
android:layout_width="match_parent">
    ...
    </LinearLayout>
    <LinearLayout android:id="@+id/footer" 
android:layout_height = "wrap_content" 
android:layout_width="match_parent">
    ...
    </LinearLayout>
    <ScrollView android:layout_width="match_parent"
android:layout_height = "wrap_content" 
android:layout_below="@id/header" android:layout_above="@id/footer">
    ...
    </ScrollView>

祝你好运

于 2013-09-25T01:48:21.593 回答
0

尝试在布局中使用 android:layout_weight 。修改 android:layout_weight 的值,直到得到正确的布局。关于如何使用重量,请查看这里, 1 和这里, 2

于 2013-09-25T03:12:03.367 回答