2016-07-16 2 views
0

Вот мое activity_custom_view_icon_text_tabs.xml расположение:Как установить цвет для текста и иконки вкладки в TabLayout, когда он получает фокус

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/custom_tab_layout_height" 
     app:tabMode="fixed" 
     app:tabGravity="fill"/> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

Вот мой код activity_custom_view_icon_text_tabs.xml: http://pastebin.com/raw/h0AN6Mtj

custom_tab.xml:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/tab" 
android:textColor="@color/colorAccent" 
android:textSize="@dimen/tab_label" 
android:fontFamily="@string/font_fontFamily_medium"/> 
+0

Вы можете использовать drawable селектор в текстовом режиме, например http://stackoverflow.com/questions/5624609/android-how-to-make-a-drawable-selector –

+0

использовать это Я должен иметь как выбранные, так и невыделенные значки в возможно, есть ли еще? –

+0

это лучший способ. или вы можете манипулировать пользовательским представлением по табуляции. –

ответ

1

Я запускаю этот код в своем примере, и он работает нормально.

вам необходимо внести некоторые изменения, описанные в следующем примере.

для фона селекторного вкладка под Рез/рисуем/background_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/colorAccent" android:state_selected="true" /> 
    <item android:drawable="@color/tabcolor" /> 
</selector> 

и для выбора цвета текста под Рез/цвет/background_text_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="@android:color/holo_red_dark" android:state_selected="true" /> 
    <item android:color="@android:color/holo_green_dark" /> 
</selector> 

и ваш TextView что-то вроде этого:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/background_selector" 
    android:textColor="@color/background_text_selector"> 
</TextView> 

ссылки взяла из за выбор цвета:

https://developer.android.com/guide/topics/resources/color-list-resource.html

и вытяжки селектора:

https://developer.android.com/guide/topics/resources/drawable-resource.html

из этой ссылки.

+0

спасибо, дорогая, это действительно полезно .. –