Как выровнять включенный макет снизу в андроиде?

1

У меня есть макет, включенный внутри другого макета, я хочу, чтобы это включало одно выровненное дно, когда я включаю его

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">

<Button 
        android:text="Enter Piano course" 
        android:id="@+id/btnEnterCourse" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"></Button>

<include 
                layout="@layout/powered_by_bar"></include>
</LinearLayout>

в этом примере кода я хочу выровнять powered_by_bar в нижней части интерфейса

Теги:

2 ответа

2
Лучший ответ

В вертикальном LinearLayout вы не можете выровнять снизу (или вверху), но влево или вправо. В горизонтальном LinearLayout вы можете выровнять нижний и верхний, но не влево или вправо.

Для этого вам необходимо обернуть внутренний LinearLayout в горизонтальном LinearLayout и правильно установить layout_weight и layout_gravity:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical" android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <Button android:text="Enter Piano course" 
                    android:id="@+id/btnEnterCourse" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"></Button>

            <LinearLayout android:layout_weight="1" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" >
                    <LinearLayout android:background="#0000ff" android:layout_gravity="bottom" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="30dip" />
            </LinearLayout>
    </LinearLayout>
2

Используйте RelativeLayout, он более эффективен, чем LinearLayout, и у него есть много атрибутов для выравнивания элементов по мере необходимости. Вы можете также использовать эти атрибуты RelativeLayout в теге include. от сайта разработчика android " Аналогичным образом вы можете переопределить все параметры макета. Это означает, что любой атрибут android: layout_ * можно использовать с тегом". см. http://developer.android.com/resources/articles/layout-tricks -reuse.html

  • 0
    ссылка битая ....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню