У меня есть два разных LinearLayout (вертикальных). 1-й LinearLayout имеет 3 кнопки с именами btnX, btnY, btnZ. 2nd LinearLayout имеет 2 кнопки с именами btnA, btnB. Верхнее выравнивание btnB должно следовать за btnY. Если я добавлю новую кнопку btnX (допустим), высота btnB будет увеличена, как показано на рисунке. Вы можете получить ясное представление из него.
Как сопоставить высоту кнопки с другой кнопкой, когда они находятся на разных linearLayout?
comment
покажите свой код макета, что вы пробовали до сих пор
- person A Honey Bustard   schedule 07.09.2016
comment
Я бы поместил их все в относительный макет без линейных макетов, чтобы я мог добавить это, как правило, и в то же время уменьшить глубину моего макета (и, таким образом, перерисовать) на единицу.
- person Gabe Sechan   schedule 07.09.2016
comment
Если LinearLayout не делает того, что вы хотите, рассмотрите возможность использования другого макета. RelativeLayout может быть именно тем, что вам нужно.
- person Dale Wilson   schedule 07.09.2016
comment
@DaleWilson Я хочу эту идею. Я не мог использовать RelativeLayout вместо LinearLayout в своем проекте.
- person joy oares   schedule 07.09.2016
comment
@joyoares Вы пытались сделать этот макет?
- person Jay Rathod RJ   schedule 07.09.2016
comment
@GabeSechan Я не мог использовать RelativeLayout вместо LinearLayout в своем проекте.
- person joy oares   schedule 07.09.2016
comment
@joyoares Нет причин, по которым ты не можешь.
- person Gabe Sechan   schedule 07.09.2016
Ответы (3)
Вы можете использовать вес макета. В ваших LinearLayouts добавьте android:weightSum=3
Затем назначьте это каждому макету: android:layout_weight=1
Таким образом, любая кнопка будет занимать 1/3 высоты, независимо от того, сколько у вас макетов. Если вы хотите, чтобы кнопка занимала 2/3 высоты, установите для layout_weight значение 2.
person
techfly
schedule
07.09.2016
Наиболее эффективным решением является реализация относительного макета... но вы можете попробовать поместить свою кнопку B в другой независимый линейный макет и поместить их в относительный макет.
person
user6642560
schedule
07.09.2016
Объясните подробнее об этом, но я надеюсь, что это поможет. измените ширину и высоту по своему усмотрению, высота кнопки 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"/>
person
Meikiem
schedule
07.09.2016