2

我必须开发一个需要使用类似布局显示数据的 Android 应用程序。我需要屏幕的两个部分:

  • 具有随设备分辨率变化的流体高度的布局
  • 以固定大小显示内容的第二种布局

这该怎么做?我使用了 relativelayout 和 linearlayout,但我还没有找到解决方案。你可以帮帮我吗?

代表我的布局线框的图像

4

2 回答 2

6
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/fixedlayout"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:orientation="vertical"
        android:id="@+id/fluidlayout" >
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:orientation="vertical"
        android:id="@+id/fixedlayout" >
    </LinearLayout>

</RelativeLayout>

使用更有效的解决方案LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp" >
    </LinearLayout>

</LinearLayout>
于 2012-08-17T22:11:40.980 回答
3

对于LinearLayout设置顶部布局到android:layout_weight="1"(和高度0dp)和底部layout_height到固定值或android:layout_height="wrap_content"

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

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#FF0000" />

    <View
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#00FF00" />

</LinearLayout>
于 2012-08-17T22:12:48.500 回答