如何在 Xamarin 中更改选定的选项卡标题颜色
How to change selected tab title color in Xamarin
我正在处理 xamarin 表单 TabbedPage
。我必须只将选定的标签标题设为不同的颜色。
这是我的代码
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:local="clr-namespace:go.Models"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Bite2.ViewsForN.SubsView">
<!--Tab 1 starts here-->
<ContentPage Title="Buy Subscriptions">
<StackLayout>
</StackLayout>
</ContentPage>
<!--Tab 2 starts here-->
<ContentPage Title="My Subscriptions">
<StackLayout>
</StackLayout>
</ContentPage>
</TabbedPage>
在 customrender 中,我将选项卡文本颜色设置为灰色。选中的标签需要黑色,未选中的标签需要灰色。
protected override void SetTabIconImageSource(Google.Android.Material.Tabs.TabLayout.Tab tab, Drawable icon)
{
base.SetTabIconImageSource(tab, icon);
tab.SetCustomView(Resource.Layout.subscriptionsTabLayout);
var title = tab.CustomView.FindViewById<TextView>(Resource.Id.tv);
title.Text = tab.Text;
ColorStateList csl = ColorStateList.ValueOf(Android.Graphics.Color.Gray);
title.SetTextColor(csl);
}
我该怎么做?
I need Black for selected tab and gray for unselected tab.
您不需要使用 CustomRender 来实现此目的。
您可以只使用 TabbedPage
.
的属性 UnselectedTabColor
和 SelectedTabColor
请参考以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TabbedPageWithNavigationPage;assembly=TabbedPageWithNavigationPage"
x:Class="TabbedPageWithNavigationPage.MainPage"
UnselectedTabColor="Gray"
SelectedTabColor="Black"
>
</TabbedPage>
我正在处理 xamarin 表单 TabbedPage
。我必须只将选定的标签标题设为不同的颜色。
这是我的代码
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:local="clr-namespace:go.Models"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Bite2.ViewsForN.SubsView">
<!--Tab 1 starts here-->
<ContentPage Title="Buy Subscriptions">
<StackLayout>
</StackLayout>
</ContentPage>
<!--Tab 2 starts here-->
<ContentPage Title="My Subscriptions">
<StackLayout>
</StackLayout>
</ContentPage>
</TabbedPage>
在 customrender 中,我将选项卡文本颜色设置为灰色。选中的标签需要黑色,未选中的标签需要灰色。
protected override void SetTabIconImageSource(Google.Android.Material.Tabs.TabLayout.Tab tab, Drawable icon)
{
base.SetTabIconImageSource(tab, icon);
tab.SetCustomView(Resource.Layout.subscriptionsTabLayout);
var title = tab.CustomView.FindViewById<TextView>(Resource.Id.tv);
title.Text = tab.Text;
ColorStateList csl = ColorStateList.ValueOf(Android.Graphics.Color.Gray);
title.SetTextColor(csl);
}
我该怎么做?
I need Black for selected tab and gray for unselected tab.
您不需要使用 CustomRender 来实现此目的。
您可以只使用 TabbedPage
.
UnselectedTabColor
和 SelectedTabColor
请参考以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TabbedPageWithNavigationPage;assembly=TabbedPageWithNavigationPage"
x:Class="TabbedPageWithNavigationPage.MainPage"
UnselectedTabColor="Gray"
SelectedTabColor="Black"
>
</TabbedPage>