Я работаю над вкладками, такими как приложение YouTube, и хотел бы выделить первую страницу при загрузке активности, поэтому я использовал следующий код
viewpager.setCurrentItem(0);//which does not highlight first tab onstarting the tab activity
И я использовал drawable в качестве фона для значков в tablayout. Я устанавливаю фон для рисования при создании фрагмента, получая каждый дочерний элемент tablayout. Я установил цвет текста в
<item name="tabTextAppearance">@style/TabTextAppearance</item>
</style>
<style name="TabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textColor">@color/tab_text_selector</item>
<item name="android:textAllCaps">false</item>
</style>
Один из файлов селектора
< ?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/favorite_selected" />
<item android:state_focused="true" android:drawable="@drawable/favorite_selected" />
<item android:state_pressed="true" android:drawable="@drawable/favorite_selected" />
<item android:drawable="@drawable/favorites" />
</selector>
Есть два других чертежа, и я использую собственный макет для вкладок. Как я могу отобразить первый элемент, выделенный при загрузке приложения в пейджере просмотра.