# 안드로이드 TabLayout 속성 설정 총정리
1. Tab 텍스트 색상/크기/스타일(볼드체)
2. Tab 높이/배경색
3. Tab Indicator(밑줄) 두께/색깔/위치
4. Tab 아이콘
5. TabLayout 너비 화면 채우기
6. Tab 선택시 Ripple 효과 제거 방법
# TabLayout Text 설정
1. 텍스트 색상(Text Color)
기본 텍스트 색상과, 탭이 선택되었을 때의 텍스트 색깔을 설정할 수 있다.
- 기본 텍스트 색상(레이아웃 XML파일 > TabLayout 태그)
app:tabTextColor="색상"
- 선택된 텍스트 색상(레이아웃 XML파일 > TabLayout 태그)
app:tabSelectedTextColor="색상"
2. 텍스트 사이즈(Text Size) + 스타일(Bold 체 등)
- styles.xml 파일을 활용하면 텍스트 크기, 스타일을 동시에 설정할 수 있다.
1step: (res > values > styles.xml 파일)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="tabTextSizeBold" parent="TextAppearance.Design.Tab">
<item name="android:textSize">16sp</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
2step: (레이아웃 XML파일 > TabLayout 태그)
app:tabTextAppearance="@style/tabTextSizeBold"
# TabLayout Tab 설정
1. 탭 높이(Tab height)
(레이아웃 XML파일 > TabLayout 태그)
android:layout_height="200dp"
2.탭 색상(Tab backgroundColor)
- 일반 탭 색상: (레이아웃XML파일 > TabLayout태그)
android:background="색상"
- 선택 탭 색상: 일반 탭과 선택된 탭의 배경색을 다르게 설정하려면, selector 를 사용하면 된다.
1step: (res > drawable > tab_selector.xml 파일)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="선택색상" android:state_selected="true"/>
<item android:drawable="일반색상"/>
</selector>
2step: (레이아웃 XML 파일 > TabLayout 태그)
app:tabBackground="@drawable/tab_selector"
* selector 에 대한 상세 내용은 아래 글 참고
[안드로이드] 커스텀 버튼 체크/선택/포커스 상태별 구분 적용 방법: selector, shape
# TabLayout Indicator Bottom line 설정
1. 밑줄 색상
(레이아웃 XML 파일 > TabLayout 태그)
app:tabIndicatorColor="색상"
2. 밑줄 두께
(레이아웃 XML 파일 > TabLayout 태그)
app:tabIndicatorHeight="3dp"
3. 밑줄 위치
(레이아웃 XML 파일 > TabLayout 태그)
* strech로 설정하면, 밑줄이 탭 전체를 채운다.
app:tabIndicatorGravity="top | center | bottom | stretch"
# Tab Icon 설정
(레이아웃 XML파일 > TabLayout 태그 > TabItem 태그)
android:icon="@drawable/아이콘"
# TabLayout 전체 너비 설정
- 태블릿 등 넓은 화면에서 TabLayout 영역이 너비를 꽉 채우게 설정
(레이아웃 XML파일 > TabLayout 태그)
app:tabGravity="fill"
# 탭 선택시 Ripple 효과 제거 방법
- 탭 선택시, 반투명 회색 물방울이 생기는 효과를 제거하려면, RippleColor를 투명한 색으로 설정해주면 된다.
app:tabRippleColor="@android:color/transparent"
자주 사용하는 안드로이드 TabLayout 속성 설정 방법을 정리했다.
각 속성들은 자바/코틀린 코드 상에서도 동적으로 설정이 가능하다.
자세한 방법과 이외의 다양한 속성들은 레퍼런스를 참고하자.
https://developer.android.com/reference/com/google/android/material/tabs/TabLayout#xml-attributes_1
'개발(Development) > Android(안드로이드)' 카테고리의 다른 글
[안드로이드] "Google Play 정책: 데이터 보안 양식 잘못됨" 해결 방법(Feat. 애드몹) (0) | 2022.09.18 |
---|---|
[안드로이드] TextView 임시 텍스트 설정 방법(tools:text): 개발시에만 노출, 런타임 비노출 (0) | 2021.09.01 |
[안드로이드] 커스텀뷰: Paint 적용된 텍스트 너비, 높이(width, height) 확인 방법 (0) | 2021.08.31 |
[안드로이드] TextView 텍스트 문자열 일부 색상/크기/스타일 변경 설정 방법: Spannable (0) | 2021.08.30 |
[안드로이드] 앱 버전 업데이트 빌드 및 배포 방법(구글 플레이) (0) | 2021.08.29 |
댓글