我注意到最新版本的ViewPagerIndicator,支持ICS样式分隔符,我试图按照问题和解决方案,但无论我做什么,我都无法让分隔符显示在TitlePageIndicator操作栏上的选项上.我添加了IcsLayout作为容器,放置了divider,showDividers和其他属性,但我仍然没有得到任何东西.这是我的布局(奇怪的是,如果我将IcsLayout切换到viewpager指示器,应用程序崩溃):
<com.actionbarsherlock.internal.widget.IcsLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res/com.sosick.android.brink" android:layout_width="match_parent" android:divider="#ffffff" android:showDividers="middle" android:dividerPadding="8dp" android:dividerHeight="10dp" android:layout_height="match_parent" android:orientation="vertical" > <com.viewpagerindicator.TitlePageIndicator android:id="@+id/tpi_header" android:layout_width="match_parent" android:layout_height="wrap_content" textColor="@color/text_light" android:background="@drawable/ab_stacked_solid_brink" app:topPadding="10dp" app:footerPadding="15dp" app:footerColor="#a4ded7" app:footerIndicatorHeight="2dp" app:footerIndicatorStyle="underline" app:footerLineHeight="2dp" app:selectedBold="false" /> <android.support.v4.view.ViewPager android:id="@+id/vp_pages" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> </com.actionbarsherlock.internal.widget.IcsLinearLayout>
解决方法
您需要在样式中声明divider params,而不是在布局xml中声明.
../res/values/styles.xml:
<style name="StyledIndicators" parent="@android:style/Theme.Light"> <item name="vpiIconPageIndicatorStyle">@style/CustomIconIndicator</item> </style> <style name="CustomIconIndicator" parent="Widget.TabPageIndicator"> <item name="android:divider">@drawable/custom_tab_indicator_divider</item> <item name="android:showDividers">middle</item> <item name="android:dividerPadding">10dp</item> </style>
在您的活动清单中:
<activity android:name=".SampleIconsDefault" android:label="Icons/Default" android:theme="@style/StyledIndicators"> </activity>