gpt4 book ai didi

c# - 如何在 Xamarin Android 中更改 TabLayout 中的颜色图标?

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:57 24 4
gpt4 key购买 nike

tabLayout.AddTab(tabLayout.NewTab().SetIcon(Resource.Drawable.Home24),true);

我要:

图标的默认颜色是#F3F3F3(未点击)

图标的默认颜色是#00000(点击)。

最佳答案

首先,在Resources/drawable/tab_icon_color.xml中创建一个颜色选择器:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#000000" android:state_selected="true" />
<item android:color="#F3F3F3" />
</selector>

要从该 xml 中获取 ColorStateList:

var tabIconColors = Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop
? Resources.GetColorStateList(Resource.Drawable.home_tab_icon_color, Activity.Theme)
: Resources.GetColorStateList(Resource.Drawable.home_tab_icon_color);

然后,对于每个选项卡:

var tab = tabLayout.NewTab().SetIcon(Resource.Drawable.Whatever);

// we wrap the icon to support API < 21
var iconWrap = DrawableCompat.Wrap(tab.Icon);
DrawableCompat.SetTintList(iconWrap, tabIconColors);
tab.SetIcon(iconWrap);

tabLayout.AddTab(tab);

结果(虽然颜色不同):

enter image description here

关于c# - 如何在 Xamarin Android 中更改 TabLayout 中的颜色图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37505960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com