2016-10-26 8 views
2

Я создаю приложение с Xamarin.Forms и портативную библиотеку классов. У меня есть вкладка. Я хочу изменить цвет индикатора вкладки. Изменение остальной части макета то, что я уже успел, единственное, что мне нужно, чтобы изменить светло-голубой индикатор вкладками страницы, как показано ниже:
enter image description hereКак изменить цвет индикатора вкладки в Xamarin.Droid?

Я не мог найти ничего, что могло работать в 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; 
     } 
} 

Поскольку приложение делается Visual Studio с Xamarin.Forms мой вопрос еще не ответили. Весь вопрос, который я нашел, касается Android, это NOT, что я ищу. Мне нужно решение C# для моей проблемы.

Заранее спасибо.

+0

Возможный дубликат [TabLayout цвет выбранной вкладки подчеркиванием] (http://stackoverflow.com/questions/30725109/tablayout-color-of-selected-tab-underline) – jaymarvels

ответ

5

Если вы находитесь в проекте Android платформы using AppCompat, в файле axml TabLayout использовать свойство 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" /> 
+0

Ах, вы меня бить к нему по 12 минут – jgoldberger

+0

Это правильное решение, когда AppCompat (Material Design) в вашем проекте Android работает. Это не так в моем проекте, но это путь. – 476rick

2

Если вы используете FormsAppCompatActivity (Material Design), то все, что вам нужно do открывает файл Tabbar.xaml в папке Ресурсы проекта дроида и меняет цвет для 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" /> 

 Смежные вопросы

  • Нет связанных вопросов^_^