如何在android中对齐包含的布局底部?

时间:2011-07-01 18:40:53

标签: android

我的布局包含在另一个布局中,我想在包含它时包含一个对齐的底部

<?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 个答案:

答案 0 :(得分:2)

使用RelativeLayout,它比LinearLayout更有效,并且它有许多属性可以根据需要对齐项目。您也可以在“include”标记中使用这些RelativeLayout属性。 来自android开发者网站“同样,您可以覆盖所有布局参数。这意味着任何android:layout_ *属性都可以与标记一起使用。”请参阅http://developer.android.com/resources/articles/layout-tricks-reuse.html

答案 1 :(得分: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>