用LinearLayouts将高度除以3

时间:2016-05-15 16:42:26

标签: android android-layout android-studio android-linearlayout

我想在LinearLayout内放置3个单独的RelativeLayout控件,并在3个LinearLayout控件之间划分可用高度,以便它们都具有均匀的高度。

我已经尝试过,weightSum以及gravity,但这些都没有,因为我错误地认为它会。我已阅读有关layout_weight的内容,但LinearLayout中未提供此内容。

我可以给每个人一个静态高度,但我怎么知道app可以运行的每个设备的可用空间?

这是我目前的代码:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg_image">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="top"
        android:weightSum="1">

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:weightSum="1"></LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="bottom"
        android:weightSum="1"></LinearLayout>

</RelativeLayout>

我仍然在学习Android开发,所以任何帮助/建议都会受到赞赏。

3 个答案:

答案 0 :(得分:1)

以下布局将有3 LinearLayout个垂直均分

      <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:weightSum="3"
            android:orientation="vertical"
            android:background="@drawable/bg_image">

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

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

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

     </LinearLayout>

答案 1 :(得分:0)

  

我已阅读有关layout_weight的内容,但LinearLayout

中未提供此内容

不,你错了LinearLayout支持为具有android:layout_weight属性的个别孩子分配权重。

  

我想在LinearLayout内放置3个单独的RelativeLayout控件,并在3个LinearLayout控件之间划分可用高度,以便它们都具有均匀的高度。

最好在RelativeLayout内添加3个单独的LinearLayout,然后将android:weightSum="3"提供给父LinearLayoutandroid:layout_weight="1"给每个孩子RelativeLayout。< / p>

答案 2 :(得分:0)

您正在寻找

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

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

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

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