4

我正在使用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# 解决方案。

先感谢您。

4

3 回答 3

12

如果您在 Android 平台项目中使用 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" />
于 2016-10-28T22:46:28.713 回答
3

如果您使用的是FormsAppCompatActivity(材料设计),那么您所要做的就是打开Tabbar.axmldroid 项目的 Resources 文件夹中的文件并更改app:tabIndicatorColor. 例如,

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:tabIndicatorColor="#FF3300" <!-- Set indicator color here, sets it to red-->
    app:tabGravity="fill"
    app:tabMode="fixed" />
于 2016-10-28T22:58:55.760 回答
1

mainview.xaml.cs公共内部MainView()

On<Xamarin.Forms.PlatformConfiguration.Android>().SetBarSelectedItemColor(enter color here)

On<Xamarin.Forms.PlatformConfiguration.Android>().SetBarItemColor(enter color here)
于 2018-07-05T11:03:21.080 回答