2012-06-25 63 views
0

我想編寫一個帶有GUI的小型Android應用程序,該應用程序應該在(人像)屏幕的頂部顯示一個圖像,直接位於可能包含一些信息文本(或簡單地爲空白/空白)的TextView下方,屏幕下方有一個按鈕。因此,在(空的)文本視圖(位於頂部圖像下方)和按鈕之間應該是「最大」空白空間,具體取決於devive的屏幕大小。換句話說,圖像組和TextView應該浮在屏幕的頂部,底部應該浮在屏幕的底部,中間有一個動態的空白空間。如何正確使用Android UI的「layout_gravity」?

所以我結束了這個佈局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

試着改變你想要的佈局底部到這一點:

<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文件中的第一個項目。除了文件中的第一個佈局外,您應該將其從所有佈局中移除。

+0

謝謝 - 雖然我用RelativeLayout結束了,如下所述:http://stackoverflow.com/questions/2386866/how-to-align-views-at-the-bottom-of-the-screen – Matthias

+0

是個不錯的選擇。 RelativeLayout更加靈活,您可以通過Relative比使用Linear更容易實現更復雜。 – FoamyGuy