如何在android中的相对布局内安排两个线性布局?

时间:2016-07-17 13:38:27

标签: android android-layout layout android-linearlayout android-relativelayout

附加图片包含 3 布局

  1. 相对布局
  2. 线性布局
  3. 线性布局
  4. 两个线性布局都是相同大小并且重叠

    我想知道的是如何在相对布局中排列这两个线性布局,以便线性布局1 & 线性布局2 将具有 90%的父级高度。 线性布局1 也必须与相对布局的顶部对齐,而线性布局2 与相对布局的底部对齐布局。

    任何简单易用的解决方案都会受到赞赏。(我是新手到android工作室)

    enter image description here

3 个答案:

答案 0 :(得分:1)

来自Android documentation

<android.support.percent.PercentRelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
     <LinearLayout
         android:layout_width="match_parent"
         app:layout_heightPercent="90%"
         android:layout_alignParentTop="true"/>
     <LinearLayout
         android:layout_width="match_parent"
         app:layout_heightPercent="90%"
         android:layout_alignParentBottom="true"/>
 </android.support.percent.PercentRelativeLayout>

LinearLayouts重叠的顺序与它们的定义顺序相对应。

答案 1 :(得分:0)

很好的问题,你可以做的是使用 PercentRelativeLayout 而不是RelativeLayout,这样你就可以调整90%的高度,然后使用这个属性

android:layout_alignParentTop = true 

代表您的第一个LinearLayout

android:layout_alignParentBottom = true 

表示第二个RelativeLayout

它会根据您的需要将LinearLayouts贴在RelativeLayout内。

有关如何使用PercentRelativeLayout here

的信息,请参阅此问题

<强> Sample Layout here

如果您还想要使用图片中的分层效果

android:elevation  property on your both `LinearLayout`.

@Svit 从另一个答案中获取的代码用于完整解释

<android.support.percent.PercentRelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
     <LinearLayout
         android:layout_width="match_parent"
         app:layout_heightPercent="90%"
         android:layout_alignParentTop="true"/>
     <LinearLayout
         android:layout_width="match_parent"
         app:layout_heightPercent="90%"
         android:layout_alignParentBottom="true"/>
 </android.support.percent.PercentRelativeLayout>

答案 2 :(得分:0)

这是另一种方式

  1. 将线性布局高度设置为所需级别(已修复)
  2. 为两个线性布局指定android:gravity属性(1'st Layout Top&amp; 2'nd Layout Bottom。
  3. 然后你就可以得到所需的结果。