2011-04-20 5 views
3

녹색 표시등을 변경하려고하기 때문에 Android ToggleButton에 어려움을 겪고 있습니다. 이Android ToggleButton 표시기

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+android:id/background" android:drawable="@android:drawable/btn_default_small" /> 
    <item android:id="@+android:id/toggle" android:drawable="@android:drawable/btn_toggle" /> 
</layer-list> 

을 말한다 나는 내 프로젝트의 그리기 폴더에이 파일을 복사

<item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" /> 

에 마지막 항목을 변경할 경우 안드로이드 SDK 폴더에서 나는 파일 당김의 \의 btn_toggle_bg.xml을 발견했습니다 그 다음 안드로이드 SDK에서 원본 btn_toggle.xml을 가져 와서 drawable 폴더에 복사했습니다. 나는 btn_toggle_off.png 및 btn_toggle_on.png을 만들 필요가있을 것이라고 asumed 그럼

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" /> 
    <item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" /> 
</selector> 

: btn_toggle.xml이있다. 마침내 나는 라인을 추가했다.

<ToggleButton 
... 
android:background="@drawable/btn_toggle_bg" /> 

그러나 ToggleButton은 완전히 이상하게 보인다. SDK에서 btn_toggle_off.9.png 및 btn_toggle_on.9.png라는 파일이 있지만 원래 지시자와 정확하게 일치하지만이 파일에 대한 참조를 찾을 수 없습니다.

도와 주시겠습니까? :)

답변

3

토글 버튼 위젯을 완전히 다시 스타일링하지 않으면 대체하려는 자원이 원본과 같이 9 개의 패치 PNG이어야합니다.

btn_toggle_off.9.pngbtn_toggle_on.9.png을 프로젝트에 복사하고 수정하거나 draw9patch 도구를 사용하여 9 가지 패치 메타 데이터를 자신의 이미지에 올바르게 추가하십시오.

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

http://developer.android.com/guide/developing/tools/draw9patch.html

파일 이름의 "0.9"부분은 유지해야하지만에서 참조되지 않습니다

는 안드로이드의 구 패치 드로어 블의 explaination에 대해 다음 문서를 참조하십시오 XML 자원. 따라서 btn_toggle_on.9.png은 단순히 "@drawable/btn_toggle_on"으로 표시됩니다.

+0

아, 덕분에 지금 작동합니다. :) – martin