2012-04-03 97 views
1

爲什麼這些垂直居中?我正在爲此苦苦掙扎,無法讓它工作。Android垂直中心

這是在一個相關佈局和顯示器的底部。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="46dp" 
style="?headerfooter" 
android:id="@+id/linlay2" 
android:layout_below="@+id/ListView01" 
android:gravity="center_vertical" 
android:layout_alignBottom="@+id/mainrel"> 
<EditText 
    android:id="@+id/EditText_AddNewList" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:hint="@string/dialog_addnew_lists_listnamehint" 
    android:layout_centerVertical="true" 
    android:gravity="center_vertical" 
    android:layout_gravity="center_vertical" 
    android:layout_weight="1"> 
</EditText> 
<Button 
     android:id="@+id/bSQLUpdate" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_centerVertical="true" 
     android:layout_gravity="center_vertical" 
     android:gravity="center_vertical" 
     android:layout_marginLeft="2dp" 
     android:layout_marginRight="2dp" 
     style="?button_add"/> 
</LinearLayout> 

enter image description here

+0

不知道這是否幫助,但我發現,當事情沒有在Android上鋪設了適當的權重屬性設置爲1有時幫助。 android:layout_weight =「1」。試試你的按鈕。 – PaulG 2012-04-03 20:39:15

回答

0

兩個建議:

1)如果你設置你的LinearLayoutlayout_height爲wrap_content?
2)我懷疑你的EditText可能有點太大(我之前遇到過類似的問題),所以如果你將它的高度從wrap_content更改爲match_parent,你可能會有更好的運氣。

+0

1.沒有區別2. match_parent不適用於我,我正在使用2.1 API 7,8需要 – erdomester 2012-04-03 21:01:00

+0

'fill_parent'和'match_parent'解析爲相同的東西。 'match_parent'只是一個更準確的描述。所以,試試'fill_parent'! :) – 2012-04-03 21:05:49

+0

您也可以嘗試在'EditText'上設置'layout_height'(也可能是'layout_width')爲'0dp'。基本上,這將使它使用您已經分配的1的layout_weight,以便在所有其他佈局完成後填充剩餘空間。 – 2012-04-03 21:09:07

0

您是否嘗試過使用「center」而不是「center_vertical」?另外,如果您想要將屏幕中心放在從屏幕頂部到屏幕底部的虛擬線上,center_horizo​​ntal就是您要查找的內容。

下面是一些代碼,放置一個項目死在屏幕的中間:

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

     <ProgressBar 
     android:id="@+id/electionsProgressBar" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" android:layout_gravity="center_vertical|center_horizontal"/> 

</LinearLayout> 
+0

我知道如何居中。這就是爲什麼我不明白爲什麼這不起作用 – erdomester 2012-04-03 21:02:40