我在平板电脑大小的景观布局上有一个双 Pane ,并且正在使用片段。

在左侧,我有一个带有listview的片段。在项目列表之一上单击时,右侧片段会加载详细信息。

在右(详细)片段的布局中,有一个com.viewpagerindicator.TabPageIndicatorandroid.support.v4.view.ViewPager.ViewPager将加载2个元素,每个元素都有其com.viewpagerindicator.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 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>

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

10-06 10:46