Android布局(固定标题+滚动部分+固定页脚)

时间:2013-09-25 01:34:23

标签: java android xml layout

我正在尝试使用固定页眉,中间滚动部分和固定页脚创建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>

2 个答案:

答案 0 :(得分: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>

古德勒克

答案 1 :(得分:0)

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