아이콘 버튼이있는 메뉴에 TabLayout을 사용하고 있습니다. 드로어 블에서 XML을 통해 아이콘에 색을 칠할 수 있습니까?Android Studio : TabItem 내의 아이콘에 색조 설정
android : tint는 TabItem 요소와 함께 작동하지 않습니다. 당신이 하나 개의 방법이 XML을 통해 색조를 설정하려는 경우 당신은 일부 코딩을 할 수
아이콘 버튼이있는 메뉴에 TabLayout을 사용하고 있습니다. 드로어 블에서 XML을 통해 아이콘에 색을 칠할 수 있습니까?Android Studio : TabItem 내의 아이콘에 색조 설정
android : tint는 TabItem 요소와 함께 작동하지 않습니다. 당신이 하나 개의 방법이 XML을 통해 색조를 설정하려는 경우 당신은 일부 코딩을 할 수
이
private void setupTabIcons() {
tabLayout.getTabAt(0).setIcon(tabIcons[0]);
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
tabLayout.getTabAt(2).setIcon(tabIcons[2]);
tabLayout.getTabAt(3).setIcon(tabIcons[3]);
tabLayout.getTabAt(0).getIcon().setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_IN);
tabLayout.getTabAt(1).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
tabLayout.getTabAt(2).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
tabLayout.getTabAt(3).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
을 시도합니다. custom_tab
레이아웃이
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:icon="@drawable/ic_drawable"
android:layout="@layout/custom_tab" />
가 : TintableImageView
의
<?xml version="1.0" encoding="utf-8"?>
<com.view.TintableImageView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:tint_color="@color/red" />
소스는 here을 찾을 수 있습니다 속성 android:layout
을 통해 설정 TabItem
에 대한 사용자 정의 레이아웃입니다. 당신은 다른 선택의 상태에 대해 서로 다른 아이콘의 색상을 사용 단지 색상 선택기 파일을 생성하고 색조 색상으로 설정하려면
이 방법을 사용하면 유연성을 제공하며 사용되지 않습니다()
app:tint_color="@color/selector_tab"
setOnTabSelectedListener 작동합니다. 대신 "addOnTabSelectedListener"를 사용했습니다. –
cool. 바라기를 나는 그것을 알아 차리지 못했다. 당신을 도와 줘서 다행 –