2012-06-04 4 views
18

내가 가진 버튼을 왼쪽 아이콘을 설정하려고 해요 :Button.setCompoundDrawablesWithIntrinsicBounds()에 대한 왼쪽/오른쪽 패딩?

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

하지만 아이콘이 내 버튼의 왼쪽 가장자리와 텍스트 문자열에 대한 플러시를 배치됩니다. 제공된 아이콘에 왼쪽/오른쪽 패딩을 지정하여 가장자리에 맞지 않게 지정할 수 있습니까?

감사

답변

37

나는 당신이 찾고있는 것은 여기

android:drawablePadding가 버튼

<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

에서 이미지의 위치를 ​​ paddingLeftpaddingRight과 함께 drawablePadding를 사용하는 예입니다 믿습니다
+0

니스, 나는이 존재를 몰랐습니다. 한면에만 패딩을 설정할 수있는 방법이없는 것처럼 보입니다. – Krylez

+0

한쪽에 패딩을 넣는 예제를 추가했습니다. – antew

+0

그래도 작동하지만 이미지의 오른쪽 가장자리를 따라 여분의 패딩을 원한다면 어떻게할까요? – Krylez

6

프로그래밍 방식을 찾는 사람에게 방법은 다음과 같습니다.

menuButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0); 
menuButton.setCompoundDrawablePadding(10);