-1

다른 아이콘 (이미지)이있는 20 개의 버튼이 있습니다. 버튼을 클릭 할 때 배경색을 변경하고 배경 아이콘을 유지해야합니다. (이미지)버튼 배경색을 변경하고 사용자가 그것을 누르면 아이콘 (이미지)을 유지합니다.

나는이 개념을 찾았지만

만 다른 아이콘과 버튼이 모두 같은 배경색이 (일반 및 선택)해야하기 때문에 각 버튼에 대한 선택을 할 필요가 없습니다 뭔가가 필요 그것을 사용하여 각 버튼에 대한 선택기가 필요합니다

<?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:gravity="center" android:src="@drawable/bm_btn_background" android:tileMode="repeat" /> 
      </item> 
      <item> 
       <shape> 
        <gradient android:angle="270" android:endColor="#a0e0b071" android:startColor="#a0a67637" /> 
        <stroke android:width="1dp" android:color="#5c3708" /> 
        <corners android:radius="5dp" /> 
        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> 
       </shape> 
      </item> 
     </layer-list> 
    </item> 

    <item android:state_enabled="true"> 
     <layer-list> 
      <item> 
       <bitmap android:gravity="center" android:src="@drawable/bm_btn_background" android:tileMode="repeat" /> 
      </item> 
      <item> 
       <shape android:shape="rectangle"> 
        <gradient android:angle="270" android:endColor="#a0a67637" android:startColor="#a0e0b071" /> 
        <stroke android:width="1dp" android:color="#5c3708" /> 
        <corners android:radius="5dp" /> 
        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> 
       </shape> 
      </item> 
     </layer-list> 
    </item> 


</selector> 

답변

0

단추 색조 색 (XML의 android:backgroundTint 특성)을 선택되지 않은 색으로 설정하십시오.

// (선택 상태 컬러 button.setBackgroundTintList (ContextCompat.getColorStateList로 버튼의 배경 색조의 색 설정이 :

후 버튼의 온 클릭 방식으로 선택 상태로 버튼의 농도 색상 변경이 수행 , selectedIntColour));