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

标签 android android-layout android-viewpager tabcontrol viewpagerindicator

我在平板电脑大小的横向布局上有一个双 Pane ,我正在使用 fragment 。

在左边我有一个带有 ListView 的 fragment 。当点击其中一个项目列表时,右侧的 fragment 会加载详细信息。

在右侧(详细) fragment 的布局中,有一个 com.viewpagerindicator.TabPageIndicator 和一个 android.support.v4.view.ViewPager。 ViewPager 将加载 2 个元素,每个元素都有其 com.viewpagerindicator.TabPageIndicator。 我试图突出显示或下划线选定的选项卡,但我没有这样做。

希望大家多多指教:)

最佳答案

默认情况下,TabPageIndicator 不应用任何样式。要启用 ViewPagerIndicator 的默认样式,请将以下行添加到 manifest.xml

中的 application 标记或适当的 activity 标记>
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>

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

关于android - 突出显示或下划线选定的 TabPageIndicator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13122423/

相关文章:

android - 为什么 onCreate 在我第一次打开 Activity 时在我的 Fragment 中调用了两次

javascript - 将 json 对象从 Android/iOS native 传递到 javascript

java - 为 CustomView 创建适配器

java - Android Activity/ View 可见性绑定(bind)——这可能吗?

android - Android Activity 的不确定进度

android - 使用 LruCache 中的图像快速滚动 viewPager

java - 设置启动器而不离开当前 Activity

Android imageview 从缩放图像中获取像素颜色

android - 在android中添加 float 操作按钮时出错

android - PagerAdapter 类被多次调用