3个布局 - 中间是灵活的

时间:2013-05-18 17:26:53

标签: android android-layout

我需要以下内容:

3个布局:

  1. 标题
  2. 内容
  3. 页脚
  4. 页眉必须位于顶部页脚必须粘在底部(android:layout_alignParentBottom="true")。

    如何让中间占据整个其他屏幕?谢谢。

4 个答案:

答案 0 :(得分:3)

这是我的解决方案(使用android:layout_weight和ScrollView):

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="#DDDDDD"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Header"
        tools:ignore="HardcodedText" />
</LinearLayout>

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="3" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Content"
        tools:ignore="HardcodedText" />

</ScrollView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="#DDDDDD"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Footer"
        tools:ignore="HardcodedText" />

</LinearLayout></LinearLayout>

结果图片:

enter image description here

答案 1 :(得分:1)

嗨使用以下行

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Button" >

        <Button
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Header" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
       android:layout_above="@+id/linearfooter"
       android:layout_below="@+id/button1"
        android:background="@android:color/darker_gray"
        >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearfooter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Button" >

        <Button
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="footer" />
    </LinearLayout>

</RelativeLayout>
希望这对你有所帮助。 Reference Image

答案 2 :(得分:0)

使用0dp和

的高度
android:layout_weight

设为1

答案 3 :(得分:0)

最后我得到了下一个解决方案:

到中间布局我添加了:

  <LinearLayout
      android:id="@+id/linearLayout1"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_above="@id/footer"
      android:layout_below="@id/header"
      android:layout_weight="1">

它有效!