2014-09-06 2 views
0

ImageButton을 가지고 있는데 그것을 누를 때 배경/src를 변경해야합니다. 선택기를 만들었지 만 작동하지 않는 것 같습니다.ImageButton 배경이 선택되어있을 때 변경되지 않았습니다.

누구나 왜 작동하지 않는지 알 수 있습니까? 레이아웃 XML의

navigation_button_drawable.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <layer-list> 
      <item> 
       <bitmap android:antialias="true" android:src="@drawable/t_navigation_dw" /> 
      </item> 
      <item> 
       <bitmap android:gravity="left" android:src="@drawable/left_padding" android:tileMode="disabled" /> 
      </item> 
     </layer-list> 
    </item> 
    <item android:state_pressed="false" android:state_focused="true"> 
     <layer-list> 
      <item> 
       <bitmap android:src="@drawable/t_navigation_dw" /> 
      </item> 
      <item> 
       <bitmap android:gravity="left" android:src="@drawable/left_padding" android:tileMode="disabled" /> 
      </item> 
     </layer-list> 
    </item> 
    <item android:drawable="@drawable/t_navigation_up"> 
    </item> 
</selector> 

하여 ImageButton 초기화.

<ImageButton 
     android:id="@+id/navigation_image_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@android:color/transparent" 
     android:src="@drawable/navigation_button_drawable" /> 
+0

당신은'ImageButton' 세트'android : background = "@ drawable/navigation_image_button_selector"'에 seletor xml 파일을 설정하고 있지 않습니다. – SilentKiller

+0

저는 잘하고 있지만 버튼에서 손가락을 떼면 이전 상태로 돌아갑니다 나는 그것이 선택되기를 바란다. –

+0

한 번 클릭하면 선택해야합니다. – SilentKiller

답변

2

당신은 ImageButton에 seletor XML 파일을 설정하지 않는 선택

내부 일을 유지하기 위해

android:background="@drawable/navigation_image_button_selector" 

android:background="@android:color/transparent" 

를 교체

설정 onClickImageViewview.setSelected(true);
을 호출하여 ImageView의 내용을 강제로 변경하십시오.

+0

죄송합니다. 작동하지 않습니다. –

관련 문제