2013-05-21 2 views
1

최근 작업중인 응용 프로그램의 ToggleButton이 녹색 표시등을 잃어 버렸습니다. 다양한 튜토리얼을 시작하고 9 개의 패치 표시기 세트를 사용하여 올바르게 작동하게했습니다. 유일한 문제는 텍스트가 지금과 같이, 지표의 꼭대기에 앉아 :android ToggleButton 표시 텍스트 사용자 정의

toggle buttons

내가이 작업을 수행 할 수있는 방법이 ... 이전 토글 버튼처럼 상단에있는 텍스트를 원하십니까?

btn_toggle_bg.xml :

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" /> 
    <item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" /> 
    </selector> 

내 활동에 ToggleButton을 태그 :

 <ToggleButton 
      android:background="@drawable/btn_toggle_bg" 
      style="@style/OurThemeName" 
      android:textOff="@string/fertilizer" 
      android:textOn="@string/fertilizer" 
      android:id="@+id/toggleFertilizer" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:checked="false"> 
     </ToggleButton> 
     <ToggleButton 
      android:background="@drawable/btn_toggle_bg" 
      style="@style/OurThemeName" 
      android:textOff="@string/irrigation" 
      android:textOn="@string/irrigation" 
      android:id="@+id/toggleIrrigation" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:checked="false"> 
     </ToggleButton> 

거의 themes.xml을 잊었 : 내 btn_toggle.xml이
<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+android:id/background" android:drawable="@android:drawable/btn_default" /> 
    <item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" /> 
    </layer-list> 

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<!-- Overwrite the ToggleButton style --> 
<style name="Widget.Button.Toggle" parent="android:Widget"> 
    <item name="android:background">@drawable/btn_toggle_bg</item> 
    <item name="android:textOn">On</item> 
    <item name="android:textOff">Off</item> 
    <item name="android:disabledAlpha">?android:attr/disabledAlpha</item> 
</style> 

<style name="OurThemeName" parent="@android:Theme.Light"> 
    <item name="android:buttonStyleToggle">@style/Widget.Button.Toggle</item> 
     <item name="android:textOn"></item> 
    <item name="android:textOff"></item> 
</style> 
</resources> 
+0

홀로 테마 9 패치 토글 버튼을 사용하여 끝났습니다. 당신은 drawable 폴더에서 기본 토글 버튼과 함께 그들을 찾을 수 있습니다. 그리고 그것들은 텍스트를 넣기 위해 이미 올바르게 포맷되어 있습니다. – tubby

답변

0

9- 패치에의 채우기 영역 을 설정해야합니다. Draw 9-patch 도구를 사용하여이 영역을 이미지의 오른쪽과 아래쪽에 추가 할 수 있습니다. 이것을 사용하여 텍스트 레이블 영역을 정의합니다.

9 패치가 작동하는 방식을 설명하는 this tutorial을 확인하십시오.

+0

그래,이게 내가 필요로하는 것처럼 보입니다. 나는 그걸 가지고 놀거야. – tubby

관련 문제