[잊어버릴까봐 기록]
1. TabLayout에 표현되는 Text Size를 조절하는 방법
아래 코드와 같이 style을 새로 생성한 후, tabLayout이 있는 xml파일에 적용한다.
values/styles.xml
<style name="tab_text" parent="TextAppearance.Design.Tab">
<item name="android:textSize">10sp</item>
</style>
tabLayout
app:tabTextAppearance="@style/tab_text"
2. TabLayout 임의의 Tab 선택 시 text 색상 변경 방법
default 색상은 tabTextColor로 설정하며, 선택 시 색상을 변경하기 위해서 tabSelectedtextColor에 색상을 설정한다.
app:tabTextColor="@color/colorUnselect"
app:tabSelectedTextColor="@color/colorSelect"
3. TabLayout Icon 설정 및 색상 변경 방법
TabItem에 icon에 drawable 파일을 설정한다.
TabItem
android:icon="@drawable/ic_baseline_home_24"
색상을 사전에 설정하며, 처음에 default로 나오는 tab은 가장 왼쪽(0번)에 있는 tab이다. 따라서 0번 tab을 선택했을 때의 색으로 설정하고, 그 외의 tab은 선택하지 않았을 때의 색으로 설정한다. 이는 getTabAt(int).getIcon().setColorFilter(int color, PorterDuff.Mode.SRC_IN); 을 통해 변경할 수 있다.
final int unSelected = ContextCompat.getColor(context, R.color.colorUnselect);
final int selected = ContextCompat.getColor(context, R.color.colorSelect);
tabLayout.getTabAt(0).getIcon().setColorFilter(selected, PorterDuff.Mode.SRC_IN);
for(int i = 1; i < tabLayout.getTabCount(); i++) {
tabLayout.getTabAt(i).getIcon().setColorFilter(unSelected, PorterDuff.Mode.SRC_IN);
}
3. Indicator 위치 및 색상 변경 방법
tabIndicatorGravity를 통해 Indicator 위치를 설정하며, 색은 IndicatorColor로 변경할 수 있다.
app:tabIndicatorGravity="top"
app:tabIndicatorColor="@color/colorSelect"
+) 추가로 임의의 Tab을 선택했을 때 (눌렀을 때) 해당 Tab이 회색으로 누른 순간만큼 변하는 현상이 있다. 이를 제거하기 위해 눌렀을 때의 색을 투명색으로 설정해주는 코드를 적어준다.
app:tabRippleColor="@color/colorTransparent"
'안드로이드' 카테고리의 다른 글
[Android] Java ArrayList<DataModel> Sorting (0) | 2020.10.15 |
---|---|
[Android] Java Convert Date (0) | 2020.10.15 |
[Android] 내장 메모리 파일 가져오기 (2) (0) | 2020.08.10 |
[Android] TabViewPager 실행 오류 해결 (0) | 2020.08.06 |
[Android] 내장 메모리 파일 가져오기 (1) (0) | 2020.05.03 |