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