2011-10-27 42 views
5

Tôi đang tạo ứng dụng Android và tôi có nút có hình nền tùy chỉnh phía sau nó. Hình nền chỉ là hình chữ nhật, nhưng bây giờ văn bản nút dường như không được căn giữa theo chiều dọc. Dưới đây là xml của tôi cho các nút:văn bản nút không được căn giữa theo chiều dọc trong nút

<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> 

và tôi đặt nền ở đây:

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

Có một nơi để thay đổi vị trí của các văn bản trong một nút?

Trả lời

12

android:layout_gravity xác định căn chỉnh bố trí bên trong bố cục đó. Để căn chỉnh văn bản trong nút bạn cần android:gravity, ví dụ:

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

Văn bản của bạn có thể có một số đệm được gắn vào phông chữ như một phần của mỗi chữ cái và đó là lý do văn bản của bạn bị đẩy theo một hướng. Đặt layout_height thành "wrap_content" và văn bản của bạn bây giờ sẽ được căn giữa.

0

Tôi đã tìm thấy cách tốt nhất để sử dụng hình ảnh bản vá 9 cho hình chữ nhật chứ không phải là hình nền xml.

4

Nút của bạn quá ngắn để vừa với văn bản. Tăng layout_height và văn bản sẽ được căn giữa.

0

Bạn có thể đặt trọng tâm thành tâm:

android:gravity="center" 
Các vấn đề liên quan