Android: руководство по компоновке - PullRequest
0 голосов
/ 20 апреля 2011

Я понимаю функциональность лайнера и относительной компоновки.

Но я не понимаю, какой из них выбрать для занятия, так как я могу полностью заполнить свое требование обоими.

Поскольку яя работаю над эмулятором, так что я думаю, что что-то упустил, есть ли какие-либо указания или лакмусовая бумажка, когда использовать какой макет?

Ответы [ 3 ]

2 голосов
/ 20 апреля 2011

Вот как я вкладываю различные виды. из этого примера вы можете видеть, что я использую ScrollView на самом низком уровне, чтобы представление могло легко прокручиваться.

Затем я использую линейную раскладку поверх прокрутки, чтобы можно было просто размещать виджеты на экране строка за строкой.

Наконец, я использую RelativeLayout, чтобы я мог использовать параметр layout_alignParentBottom и сделать так, чтобы кнопка отображалась в нижней части представления.

<?xml version="1.0" encoding="utf-8"?>

<!-- use ScrollView incase it doesn't fit on small display -->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:fillViewport="true"
          android:background="#fffcb95a">

    <LinearLayout android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">

        <!-- Hello World -->
        <TextView android:text="Hello World" 
                  android:id="@+id/TextViewHeaderMessage1" 
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content"
                  android:paddingTop="8dip"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:gravity="center_horizontal"
                  android:paddingBottom="30dip"
                  android:textColor="#6a7349" />



        <RelativeLayout android:orientation="horizontal"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content">

            <!-- "OK" BUTTON -->
            <Button android:text="OK" 
                    android:id="@+id/ok_button" 
                    android:layout_width="150dip" 
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_centerHorizontal="true" />

        </RelativeLayout>

    </LinearLayout>

</ScrollView>
1 голос
/ 20 апреля 2011

В общем, вы можете использовать LinearLayout, если ваше представление достаточно простое, чтобы использовать только один или два из них.Однако, если вы обнаружите, что вложили много LinearLayout s, это признак того, что вам следует перейти на использование RelativeLayout.Более эффективно использовать один RelativeLayout, чем многие LinearLayout с.

Если вы предоставите пример того, как выглядят ваши макеты, мы можем дать более конкретный совет.

1 голос
/ 20 апреля 2011

Ни один из них по своей природе не лучше, чем другой ... используйте RelativeLayout, если вы собираетесь много позиционировать объекты относительно друг друга ... RelativeLayout более гибки, но требуют большего внимания для правильного выравнивания..a LinearLayout, как правило, легче, если у вас есть предметы, которые можно аккуратно разместить по горизонтали или вертикали ... Если вы работаете в вашем случае, просто выберите тот, который вам удобнее всего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...