Android Studio:在选项卡项中设置图标的颜色色调
我正在使用带有图标按钮的菜单列表。 是否可以在drawables中通过XML对图标着色Android Studio:在选项卡项中设置图标的颜色色调,android,menu,menuitem,imageicon,tint,Android,Menu,Menuitem,Imageicon,Tint,我正在使用带有图标按钮的菜单列表。 是否可以在drawables中通过XML对图标着色 android:tint不适用于TabItem元素 您可以在编码部分完成,试试这个 private void setupTabIcons() { tabLayout.getTabAt(0).setIcon(tabIcons[0]); tabLayout.getTabAt(1).setIcon(tabIcons[1]); tabLayout.getTabAt(2).setIcon(tab
android:tint不适用于TabItem元素 您可以在编码部分完成,试试这个
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) {
}
});
}
如果要通过XML设置色调,有一种方法。是通过属性
android:layout
设置的TabItem
的自定义布局:
<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
的源代码
这种方法为您提供了灵活性,如果您想为不同的选择器状态使用不同的图标颜色,只需创建颜色选择器文件并将其设置为着色颜色即可
app:tint_color="@color/selector_tab"
SetOnTableSelectedListener()已弃用。我用了“AddOnAbsSelectedListener”。这个答案不能回答这个问题。错。没有一种方法。
app:tint_color="@color/selector_tab"