突出显示或下划线选定的TabPageIndicator

use*_*998 14 android tabcontrol android-layout android-viewpager viewpagerindicator

我在平板电脑大小的横向布局上有双窗格,我正在使用片段.

在左边我有一个带有listview的片段.当其中一个项目列表发生单击时,右侧片段将加载详细信息.

在右(细节)片段的布局中有一个com.viewpagerindicator.TabPageIndicator和一个android.support.v4.view.ViewPager. ViewPager将加载2个元素,每个元素都有它com.viewpagerindicator.TabPageIndicator.我正在尝试突出显示或强调所选标签,但我没有这样做.

我希望你有一些建议:)

THe*_*per 23

默认情况下,TabPageIndicator不应用任何样式.要从ViewPagerIndicator启用默认样式,请将以下行添加到application标记或activity您的标记中的相应标记manifest.xml

android:theme="@style/Theme.MyTheme"
Run Code Online (Sandbox Code Playgroud)

然后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>  
Run Code Online (Sandbox Code Playgroud)

我正在为我的应用程序使用android light主题,但您可能希望将其更改为您现在使用的主题.

如果要更改默认的VPI样式,请将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>
Run Code Online (Sandbox Code Playgroud)

请注意,上面的设置与TabPageIndicactor的默认VPI样式完全相同,因此您仍然需要进行所需的更改.