2014-04-25 5 views
0

다른 배경과 소스를 가진 이미지 버튼 (약 15 개)이 있습니다. 나는 같은 방법으로 모든 것들의 눌려진 상태를 바꾸고 싶다 : 컬러 오버레이를 추가한다. (안드로이드 이미지 버튼 배경, 소스 및 선택기

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_one_active" android:state_pressed="true"/> 
    <item android:drawable="@drawable/button_one"/> 

</selector> 

하여 ImageButton :

각 버튼에 대한 onTouchListern없는 방법 (I 시도 모든 예 ... 제대로 작동하지 않았다)과 해부 활성 이미지없이 selector.xml처럼, 거기에 현재 상태)

 <ImageButton 
      android:id="@+id/button_one" 
      android:layout_width="53dp" 
      android:layout_height="53dp" 
      android:background="@drawable/button_one_background" 
      android:contentDescription="@string/button_one_description" 
      android:onClick="onButtonClick" 
      android:scaleType="fitCenter" 
      android:layout_alignTop="@+id/button_two" 
      android:layout_toRightOf="@+id/button_two" /> 

소스는 회로 차단기의 onClicklisteners 들어 setImageResource 또는 자바 코드

+0

'onTouchListener'대신 'OnClickListener' 설정을 사용해 보셨습니까? 또는 둘 다 똑같이 들립니다. –

+0

내 onClick-Method의 시작 부분에'ib.setColorFilter (Color.RED, PorterDuff.Mode.ADD);를 추가하고 끝에있는'ib.clearColorFilter();'는 아무 것도하지 않았습니다. ImageButton의 예제를 추가하겠습니다. – lis

답변

1

setImageBitmap 자바에 설정된 ns add,

button.setBackgroundResource(R.drawable.button_pressed_image); 
+0

그래, 많은 selector.xml보다 낫지 만, 여분의 _pressed_images (: – lis

+0

오)를 사용하지 않고 배경 이미지에 색상을 오버레이하고 싶습니다. 그리고 나서 보통 이미지로 프레스 된 이미지를 대체해야합니다 ... 어디에서? – lis

+0

버튼의 onclick 메소드에서 원하는 경우 오버레이를 추가 할 수도 있습니다. –