안드로이드 TabLayout 탭의 아이콘 색상 자동으로 변경

2022. 1. 8. 20:51IT/Android

반응형

안드로이드 TabLayout에 아래와 같이 텍스트(탭 설명)없이 아이콘으로 표현하고 싶은 경우가 있을 수 있다.

이럴 경우, 선택된 탭의 아이콘의 색상은 파란색, 선택되지 않은 탭들은 회색과 같이 색을 표현하고 싶을 때 유용하게 쓰이는 방법을 설명하고자 한다.

아이콘 이미지가 벡터 이미지(SVG)인 경우, 손쉽게 적용이 가능하다.

 

1. 프로젝트 폴더에 res/color 폴더에 아래 XML파일을 작성하여 추가해준다.

> res/color/main_tab_color_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:color="@color/white" android:state_selected="true" />
	<item android:color="@color/magnitude2" />
</selector>

여기서 아이템의 색상을 변경해주면, 선택될 경우는 흰색, 선택되지 않은 경우 짙은 회색으로 설정된다.

 

 

2. 레이아웃에서 tabLayout - tabIconTint 속성을 위에서 만든 속성으로 선택해준다.

> @color/main_tab_color_selector

 

이렇게 할 경우, 해당 color 설정을 다른 곳에서도 사용할 수 있기 때문에 재사용면에서 추천한다.

반응형