Выделение или выделение выделенного вкладка TabPageIndicator

У меня есть двойная панель на планшете размером с планшет, и я использую фрагменты.

Слева у меня есть фрагмент со списком. Когда щелчок происходит в одном из списков элементов, правый фрагмент загружает детали.

В макете правого (подробного) фрагмента есть com.viewpagerindicator.TabPageIndicator и android.support.v4.view.ViewPager. ViewPager загрузит 2 элемента, и каждый из них имеет свой com.viewpagerindicator.TabPageIndicator . Я пытаюсь выделить или подчеркнуть выбранную вкладку, но я не сделал этого.

Надеюсь, у вас есть совет 🙂

Solutions Collecting From Web of "Выделение или выделение выделенного вкладка TabPageIndicator"

По умолчанию TabPageIndicator не применяет никакого стиля. Чтобы включить стиль по умолчанию из ViewPagerIndicator, добавьте следующую строку в тег application или соответствующий тег activity в файле manifest.xml

 android:theme="@style/Theme.MyTheme" 

Затем добавьте файл res\values\styles.xml в ваш проект со следующим содержимым

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.MyTheme" parent="@android:style/Theme.Light"> <item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item> </style> </resources> 

Я использую тему темы для Android для моего приложения, но вы можете изменить ее на тему, которую вы используете сейчас.

Если вы хотите внести изменения в изменение стиля VPI по умолчанию, styles.xml файл styles.xml примерно так:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.MyTheme" parent="@android:style/Theme.Light"> <item name="vpiTabPageIndicatorStyle">@style/MyTabPageIndicator</item> </style> <style name="MyTabPageIndicator" parent="Widget.TabPageIndicator"> <item name="android:gravity">center</item> <item name="android:background">@drawable/vpi__tab_indicator</item> <item name="android:paddingLeft">22dip</item> <item name="android:paddingRight">22dip</item> <item name="android:paddingTop">12dp</item> <item name="android:paddingBottom">12dp</item> <item name="android:textAppearance">@style/MyTabPageIndicator.Text</item> <item name="android:textSize">12sp</item> <item name="android:maxLines">1</item> </style> <style name="MyTabPageIndicator.Text" parent="TextAppearance.TabPageIndicator"> <item name="android:textStyle">bold</item> <item name="android:textColor">@color/vpi__dark_theme</item> </style> </resources> 

Обратите внимание, что приведенные выше настройки точно такие же, как стиль VPI по умолчанию для TabPageIndicactor, поэтому вы все равно должны внести необходимые изменения.

Просто используйте две библиотеки. 1) Панель действий Шерлока. 2) ViewPageIndicator и реализуйте представление tabPageIndicator. Он будет предоставлять вам вкладку по умолчанию, а вкладка highliget – подчеркнуть. ЕСЛИ вы хотите изменить цвет подчеркивания, чем вам нужно изменить рисунки 9-го патча, которые использовались в underlinbe.

Вот пример кода

Пример представления XML

  <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.viewpagerindicator.TabPageIndicator android:id="@+id/indicator" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/lock_background_greeen" /> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout> </FrameLayout> 

Код фрагмента

  final FragmentPagerAdapter adapter = new FragmentChildPageAdapter(getChildFragmentManager());//getActivity().getSupportFragmentManager() final ViewPager pager = (ViewPager) v.findViewById(R.id.pager); pager.setAdapter(adapter); final TabPageIndicator indicator = (TabPageIndicator) v.findViewById(R.id.indicator); indicator.setViewPager(pager);