사용자 지정 drawable resource의 Button에서 채우기를 변경하려고하고 선택기에서 다시 사용하려고합니다. 드로어 블을 변경 하지 문제를 보이지만 앱은 항상 다른 드로어 블에서 가장 높은 패딩 aviable 사용선택기 drawable의 채우기 변경
button_inactive.xml을
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#FF4d681f" />
</shape>
</item>
<item
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp">
<shape android:shape="rectangle" >
<solid android:color="#FFFFFFFF" />
<padding
android:bottom="5dp"
android:top="5dp" />
</shape>
</item>
button_active.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#FF4D681F" />
</shape>
</item>
<item
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp">
<shape android:shape="rectangle" >
<solid android:color="#FF8da32d" />
<padding
android:bottom="10dp"
android:top="10dp" />
</shape>
</item>
button_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/button_active"/>
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/button_active"/>
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/button_active"/>
<item android:drawable="@drawable/button_inactive"/>
문제는 내 버튼은 "비활성"상태를 포함하여 모든 국가에서 10dp 패딩을 사용한다는 것입니다.
XML로만 작동하도록하는 방법이 있습니까? 아니면 프로그래밍 방식으로 사용자 지정 Button을 만드는 것이 더 좋습니까?
나는 드로어 블 버튼 중 하나를 사용해 보았습니다. 정상적인 패딩은 패딩이없고 패딩을 추가했습니다. 정상적인 것을 표시 할 때도 눌러 진 패딩을 사용합니다. 나는 또한 같은 방식으로 사용하고있는 .png 파일에 문제가있다. 나는 눌린 것을 보통보다 크게 만들었지 만, 크기는 변하지 않습니다. 이건 안됐다. –
http://stackoverflow.com/a/19227057/1645319 –