如何正确使用Android UI的“layout_gravity”?

时间:2012-06-25 21:34:04

标签: android android-layout

我想编写一个带有GUI的小型Android应用程序,该应用程序应该在(纵向)屏幕的顶部显示图像,直接位于可能包含某些信息文本的TextView下方(或者只是空白/空白),并且屏幕下方有一个按钮。所以在(空)Textview(顶部图像下方)和按钮之间应该是“最大”空白空间,具体取决于devive的屏幕大小。

所以,换句话说:图像组和TextView应该浮动在屏幕的顶部,底部应该漂浮在屏幕的底部,中间有一个动态的空白空间。

所以我最终得到了这个布局XML:

<?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"
android:orientation="vertical" >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/curr_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|top"
        android:layout_margin="6dip" />

    <TextView
        android:id="@+id/image_info_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button"
        android:text="@string/rate_button_text"
        android:layout_width="fill_parent"
        android:layout_height="60dip"
        android:layout_gravity="center_horizontal|bottom"
        android:layout_margin="6dip" />

</LinearLayout>

</LinearLayout>

但是,使用此布局,所有内容都会浮动在屏幕顶部,按钮不会呈现在屏幕底部,如上所述。

我在这里做错了什么想法? 在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

尝试将底部所需的布局更改为:

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

另请注意,您只需要这个:

xmlns:android="http://schemas.android.com/apk/res/android"

在xml文件的第一项中。您应该从所有布局中删除它,除了文件中的第一个布局。