当按钮高度位于不同的linearLayout时,如何将按钮高度与另一个按钮匹配?

时间:2016-09-07 17:46:13

标签: android android-layout android-linearlayout

我有两个不同的LinearLayout(垂直)。 1st LinearLayout有3个名为btnX,btnY,btnZ的按钮。 2nd LinearLayout有2个名为btnA,btnB的按钮。 btnB顶部对齐应遵循btnY。如果我添加一个新按钮btnX(假设),btnB高度将增加为给定的图片。你可以从中得到一个清晰的想法。

enter image description here

3 个答案:

答案 0 :(得分:0)

您可以使用布局权重。 在LinearLayouts中,添加 android:weightSum=3

然后,将其分配给每个布局: android:layout_weight=1

这样,无论您有多少布局,任何按钮都会占据高度的1/3。如果您希望按钮占据高度的2/3,请将layout_weight设置为2。

答案 1 :(得分:0)

最有效的解决方案是实现相对布局...但您可以尝试将按钮B放在另一个独立的线性布局中并将它们放在relativelayout中

答案 2 :(得分:0)

详细解释一下,但我希望它有所帮助。根据需要改变宽度和高度,按钮B的高度为((按钮A的高度)* 2)+按钮顶部的边缘

<RelativeLayout 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/btnZ"
    android:layout_width="216dp"
    android:layout_height="86dp"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="24dp"
    android:text="Button Z"/>
<Button
    android:id="@+id/btnY"
    android:layout_width="216dp"
    android:layout_height="86dp"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="24dp"
    android:text="Button Y"
    android:layout_below="@+id/btnZ"/>
<Button
    android:id="@+id/btnX"
    android:layout_width="216dp"
    android:layout_height="86dp"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="24dp"
    android:text="Button X"
    android:layout_below="@+id/btnY"/>

<RelativeLayout 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/btnA"
    android:layout_width="216dp"
    android:layout_height="86dp"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="24dp"
    android:text="Button A"/>
<Button
    android:id="@+id/btnB"
    android:layout_width="216dp"
    android:layout_height="196dp"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="24dp"
    android:text="Button B"
    android:layout_below="@+id/btnA"/>