元素等于其RelativeLayout的整个宽度/高度

时间:2015-02-03 12:39:33

标签: android android-layout relativelayout

我有,说三个按钮我想在一个布局中列在另一个下面。根据设备,屏幕尺寸,像素密度,方向等,我希望按钮跨越其父布局的整个高度。每个按钮都有一个固定的高度(dp),因此跨度更可能与按钮之间的空间有关。

我在各种论坛上看到了几个关于如何通过为每个元素嵌套布局跨度来解决这个问题的问题的问题。我非常希望避免嵌套布局,而且我现在使用RelativeLayout,所以如果有任何方法可以使用这种类型的布局,它将会有很大的帮助! :)

此外,我希望顶部和底部按钮能够触摸"顶部和底部的父布局边框,以及最后(或休息)按钮,以平均填充垂直空间的其余部分。

提前谢谢。

2 个答案:

答案 0 :(得分:0)

我不完全确定您希望实现的目标,但您应该能够使用LinearLayout& weights(因此您不必嵌套多个布局)。

如果您希望3个按钮占据屏幕的整个父级,只需为每个按钮添加weight,例如:

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

<Button
    android:id="@+id/button_one"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<Button
    android:id="@+id/button_two"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<Button
    android:id="@+id/button_three"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

</LinearLayout>

答案 1 :(得分:0)

  • 尝试在topButton
  • 中设置XML: android:layout_alignTop="true";字段
  • 尝试在middleButton
  • 中设置XML: android:layout_centerVertical="true";字段
  • 尝试在bottomButton
  • 中设置XML: android:layout_alignBottom="true";字段