DrawableCompat과 관련이있을 수 있습니다. 당신이 원하는 recolouring 정확히 어떤 종류를 지정할 수 있습니다 나는 항상 PorterDuff와 ColorFilter를 사용하여 염색을 다음과 같이 변경하는
시도를 (SRC_IN 대부분 내가 달성하고자하는 결과에 맞는) :
Drawable drawable = menu.findItem(R.id.action_info).getIcon();
drawable.setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_IN);
menu.findItem(R.id.action_info).setIcon(drawable); // Actualy, we don't need to do this
편집 :
나는 본다. 이 효과는 사용중인 이미지로 인해 발생합니다. 난 당신이 불투명도가 기본 아이콘 ic_menu_info_details
을 사용하는 것 같아요. 필요에 따라 그것을 색칠하기 위해 자신의 아이콘을 사용하는 것이 좋습니다.
기본적으로 불투명도가없는 동일한 아이콘을 사용할 수 있습니다. 그리고이 PorterDuff 메서드는 예상대로 작동합니다 (이전 코드도 마찬가지입니다).
아이콘을 쉽게 찾고 프로젝트에 추가 할 수 있습니다.
옵션 1 :
옵션 2 :
,536,
망가 변경하는 것을 잊지
을 변경 아이콘 버튼을 클릭>Vector Asset
, 찾아 -
오른쪽 New
에 당김 폴더에
이동을 클릭합니다 menu.xml
이므로 새 아이콘을 사용하십시오.