Как установить макет с верхним, центральным и нижним элементом? - PullRequest
0 голосов
/ 26 октября 2011

У меня есть 2 LinearLayouts и кнопка в относительном макете.Они должны выглядеть следующим образом:

LinearLayout с верхней панелью (около 20% экрана)


Множество элементов в виде прокрутки, которое занимает большую часть экранаПриблизительно 60% экрана)


A Кнопка внизу (Приблизительно 20% экрана)

Я пробовал это:

<RelativeLayout
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">

   <LinearLayout
   android:id="@+id/layoutTopBlack"
   android:layout_alignParentTop="true"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content">
   <include layout="@layout/top_black_bar_cancel_register_button"/> 
</LinearLayout> 

    <LinearLayout
   android:id="@+id/layoutCenter"
   android:layout_below="@id/layoutTopBlack"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
   <include layout="@layout/top_black_bar_cancel_register_button"/> 
</LinearLayout> 

    <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:id="@+id/buttonNextStep"
    android:text="@string/next_step"
    style="@style/mainButtonStyle"/>

</RelativeLayout>

Это не работает.LayoutCenter располагается над кнопкой, поэтому я никогда не вижу кнопку.

Есть предложения?

Заранее спасибо.

Редактировать: Я нашел это в редакторе: Не удалосьне удается разрешить ресурс @ id / layoutTopBlack

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

На самом деле, с учетом указанных вами процентов, вы, вероятно, захотите использовать здесь LinearLayout с весами макета , а не RelativeLayout.

EG, чтобы сделать вес 20% / 60% / 20%, который вы упомянули:

<LinearLayout 
  android:layout_width="match_parent" 
  android:layout_height="match_parent"
  android:orientation="vertical">
  <View android:layout_height="0px" android:layout_weight="1" ... />
  <View android:layout_height="0px" android:layout_weight="3" ... />
  <View android:layout_height="0px" android:layout_weight="1" ... />
</LinearLayout>

Если верхний / нижний столбцы просто должны содержать свое содержимое, а не занимать фиксированный процент, тогда ответ renam.antune должен сработать, или вы можете использовать LinearLayout, как указано выше, но установите верхний / нижний столбцы для переноса содержание без установления веса на них. Тогда любой вес в центре обзора заставит его заполнить все доступное оставшееся пространство, не стирая кнопку, как это было бы с fill_parent.

0 голосов
/ 26 октября 2011

Просто скажите вашему layoutCenter расположить себя над кнопкой примерно так:

<LinearLayout
android:id="@+id/layoutCenter"
android:layout_above="@id/buttonNextStep"
android:layout_below="@id/layoutTopBlack"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include layout="@layout/top_black_bar_cancel_register_button"/> 
</LinearLayout>
...