2011-10-27 58 views
5

我正在創建一個Android應用程序,並且我有一個背後有自定義背景圖片的按鈕。背景圖像只是一個矩形,但現在按鈕文本似乎不是垂直居中。這裏是我的按鈕XML:按鈕文字沒有在按鈕中垂直居中

<Button 
android:id="@+id/save_to_list" 
android:layout_below="@+id/info_pic" 
android:text="SAVE TO LIST" 
android:textColor="@android:color/white" 
android:layout_centerHorizontal="true" 
android:layout_gravity="center_horizontal" 
android:layout_width="260dp" 
android:layout_height="35dp" 
android:layout_marginTop="15dp" 
android:layout_marginBottom="15dp"></Button> 

,我在這裏設置背景:

ImageView button_bg = (ImageView)findViewById(R.id.button_background); 
savetolist_button.setBackgroundDrawable(button_bg.getDrawable()); 

是否有更改按鈕中的文本的位置在哪裏?

回答

12

android:layout_gravity定義其父項內部的佈局對齊。要對齊你需要android:gravity按鈕中的文本,例如

<Button 
    ... 
    android:gravity="center" 
    ...> 
</Button> 
1

您的文本可能在字體中內置了一些填充作爲每個字母的一部分,這就是爲什麼您的文本被推向一個方向。將layout_height設置爲「wrap_content」,您的文本現在應該正確居中。

0

我發現最好使用9補丁圖像爲矩形背景,而不是xml drawable。

4

您的按鈕太短正確適合文本。增加layout_height,文本應居中。

0

您可以將重心設置爲中心:

android:gravity="center"