android - android高亮或者下划线选定的TabPageIndicator

  显示原文与译文双语对照的内容
55 3

我在平板电脑的横向布局上有一个 dualpane,我正在使用 Fragments 。

在左边我有一个 fragment 和一个 listview 。当单击某个项列表中的某个按钮时,右 fragment 将加载详细信息。

在右( 详细信息) fragment的布局中,有com.viewpagerindicator.TabPageIndicator一个 android.support.v4.view.ViewPager.,ViewPager将加载 2个元素,每个元素都有com.viewpagerindicator.TabPageIndicator我正在尝试突出显示或者突出显示选定标签,但未成功完成。

我希望你有一些建议:

时间:原作者:0个回答

54 0

默认情况下,TabPageIndicator不应用任何样式。要从ViewPagerIndicator中启用默认样式,请向 manifest.xml 中的application 标记或者适当的activity 标记添加以下行

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

然后,将 resvaluesstyles.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 文件更改为如下所示:

<?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的默认truetype样式完全相同,因这里你仍需要做出更改。

原作者:
81 0

只需使用两个库 1 ) Sherlock操作栏 2 ) ViewPageIndicator并实现tabPageIndicator视图它将提供默认选项卡,并为highliget选项卡提供下划线。如果要更改下划线颜色,则需要更改在underlinbe中使用的drawable 9th 个修补程序图像"。

下面是示例代码

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>

fragment 代码

 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);
原作者:
...