RelativeLayout и процент роста. Невозможно использовать layout_below и layout_weight

Салют! У меня проблема с relativelayout, где его дети могли использовать layout_below и layout_weight, чтобы установить его процентную высоту.

Например. У нас есть относительная компоновка, и внутри нее у нас есть 3 линейных макета с текстовыми изображениями. Теперь я хотел бы установить для 3 из них (linearlayouts) 25,50,25% высоты общей высоты относительной компоновки. Как я мог это сделать?

Я нашел решение для weight_sum и relativelayout (CLICK), но не использует layout_below.

Пожалуйста помоги. Я попытался добавить дополнительные linearlayout внутри всех linearlayouts, но тогда я не могу использовать layout_below.

Вот идея концепции pic: Введите описание изображения здесь

Вот мой код:

<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/linlay_leftcol_notification_header" > <LinearLayout android:id="@+id/linlay_leftcol_clock_theday" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/tv_theday" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="@string/theday" android:textColor="#FFFFFF" /> </LinearLayout> <LinearLayout android:id="@+id/linlay_leftcol_clock_thetime" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/linlay_leftcol_clock_theday" > <TextView android:id="@+id/tv_thetime" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="@string/thetime" android:textColor="#FFFFFF" /> </LinearLayout> <LinearLayout android:id="@+id/linlay_leftcol_clock_thenumber_themonth_theyear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/linlay_leftcol_clock_thetime" > <TextView android:id="@+id/tv_thenumberofday_themonth_theyear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="@string/thenumberofday_themonth_theyear" android:textColor="#FFFFFF" /> </LinearLayout> </RelativeLayout> 

PS Прошу простить грамматику, потому что я все еще изучаю этот язык. Я искал решение перед публикацией.

Попробуйте это … Надеюсь, это решает цель .. 🙂

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="#ff00ff" android:orientation="vertical"> <RelativeLayout android:layout_weight="1" android:background="#ffff00" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textView0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="Hello 1" android:textColor="#000000" android:textSize="15dp" /> </RelativeLayout> <RelativeLayout android:layout_weight="2" android:background="#00ffff" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="Hello 2" android:textColor="#000000" android:textSize="15dp" /> </RelativeLayout> <RelativeLayout android:layout_weight="1" android:background="#ffff00" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="Hello 3" android:textColor="#000000" android:textSize="15dp" /> </RelativeLayout> </LinearLayout> 

Проверь это::

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight=".15" android:background="@android:color/background_dark" android:orientation="vertical" > <RelativeLayout android:id="@+id/rel_1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#A52A2A" > <TextView android:id="@+id/tv_theday" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="1st layout" android:textColor="#FFFFFF" /> </RelativeLayout> <RelativeLayout android:id="@+id/rel_2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#8B008B" > <TextView android:id="@+id/tv_theday" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="2ndlayout" android:textColor="#FFFFFF" /> </RelativeLayout> <RelativeLayout android:id="@+id/rel_3" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#00008B" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="3rd layout" android:textColor="#FFFFFF" /> </RelativeLayout> </LinearLayout> <RelativeLayout android:id="@+id/rel_side" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight=".75" android:background="#ff0000" > <TextView android:id="@+id/tv_theday" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="side layout" android:textColor="#FFFFFF" /> </RelativeLayout> </LinearLayout> 

Вы можете использовать либо вес, либо относительные свойства макета. Вы можете сделать это 25,50,25 liek этим … вы выровняете родительский левый первый текстовый просмотр, выровняете родительское право, другое текстовое изображение и оставшееся текстовое изображение, которое вы выравниваете слева от первого и справа от последнего.

Используйте макет таблицы и внутри этого, вы помещаете свои текстовые изображения. Существует атрибут «стрейч-столбец» для макета таблицы, там вы можете указать размер как «0,2,1».