我正在使用 Xamarin.Forms 和一个可移植类库构建一个应用程序。我有一个标签页。我想更改选项卡式页面指示器的颜色。更改布局的其余部分是我已经管理过的,我唯一需要的是更改浅蓝色标签页指示器,如下所示:
我找不到任何可以在Xamarin.Droid中使用的东西。这是创建带有内容的选项卡页面的代码:
class TabbedPageTry : TabbedPage
{
public TabbedPageTry()
{
Title = "TabbedPage";
var myPages = new CategoryDAO().GetCategories();
foreach (var item in myPages)
{
Children.Add(new TabPage(item.CategoryID) { BindingContext = item });
}
}
public class TabPage : ContentPage
{
public TabPage(int categoryID)
{
Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0);
var listView = new ListView
{
SeparatorColor = Color.FromHex("#101010"),
ItemsSource = new CourseDAO().GetCourses(),
IsPullToRefreshEnabled = false,
BackgroundColor = Color.White,
};
this.SetBinding(Page.TitleProperty, "Name");
Content = listView;
}
}
因为应用程序正在使用Xamarin.Forms制作Visual Studio,我的问题尚未得到解答。我发现的所有问题都是针对Android的,这是不我想要的。我需要的是解决我问题的C#解决方案。
提前谢谢。
答案 0 :(得分:8)
如果您在Android平台项目中using AppCompat,则在TabLayout axml文件中使用tabIndicatorColor属性执行此操作:
<android.support.design.widget.TabLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_tabs"
....
app:tabIndicatorColor="#123456" />
答案 1 :(得分:3)
如果您使用的是FormsAppCompatActivity
(Material Design),那么您只需打开droid项目资源文件夹中的Tabbar.axml
文件,然后更改{的颜色集{1}}。例如,
app:tabIndicatorColor
答案 2 :(得分:1)
在mainview.xaml.cs
的公共MainView()
内部:
On<Xamarin.Forms.PlatformConfiguration.Android>().SetBarSelectedItemColor(enter color here)
On<Xamarin.Forms.PlatformConfiguration.Android>().SetBarItemColor(enter color here)