2012-06-04 35 views
18

Tôi đang cố gắng để thiết lập một biểu tượng trái vào một nút với:Đệm trái/phải cho Button.setCompoundDrawablesWithIntrinsicBounds()?

setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0); 

nhưng biểu tượng được đặt tuôn lên chống lại cạnh trái của nút của tôi, và các chuỗi văn bản. Có cách nào để chỉ định một số pad trái/phải trên biểu tượng được cung cấp để nó không phải là phải lên chống lại các cạnh?

Cảm ơn

Trả lời

37

Tôi tin rằng những gì bạn đang tìm kiếm là android:drawablePadding

Dưới đây là một ví dụ của việc sử dụng drawablePadding cùng với paddingLeftpaddingRight đến vị trí một hình ảnh trong một nút

<Button 
    android:id="@+id/button" 
    android:layout_width="200dp" 
    android:layout_height="80dp" 
    android:drawableLeft="@drawable/ic_launcher" 
    android:drawablePadding="2dip" 
    android:paddingLeft="30dip" 
    android:paddingRight="26dip" 
    android:text="Test" /> 

Image example

+0

Tốt, tôi không biết điều này đã tồn tại. Quá tệ, có vẻ như không có cách nào để đặt phần đệm chỉ ở một bên. – Krylez

+0

Tôi đã thêm một ví dụ về việc đặt đệm vào một bên :) – antew

+0

Điều đó có hiệu quả, nhưng nếu bạn muốn thêm phần đệm dọc theo cạnh phải của hình ảnh thì sao? – Krylez

6

Đối với bất kỳ ai đang tìm kiếm chương trình , đây là một ví dụ:

menuButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0); 
menuButton.setCompoundDrawablePadding(10); 
Các vấn đề liên quan