我正在尝试使用SherlockActionBar实现ViewPagerIndicator。它可以滑动片段,但样式不起作用!它看起来像这样:
我也尝试将所有的样式信息复制到styles.xml中,但这也不起作用。 您能告诉我如何给VPI设置样式吗? 谢谢! 编辑: 现在我已经添加了
结果:我没有收到任何异常,看到了样式,但是现在我看不到任何片段 :(
活动的代码可以在这里找到:http://pastebin.com/hsNgxFDZ 当前页面的样式截图:
相关主题: https://github.com/JakeWharton/Android-ViewPagerIndicator/issues/66
我知道出了什么问题: 在VPI的示例中,一个页面的样式是通过在AndroidManifest.xml中设置的(例如)
<activity
android:name=".SampleTabsDefault"
android:theme="@style/Theme.PageIndicatorDefaults">
</activity>
但是,当我将android:theme元素添加到我的Manifest.xml中时,我会得到以下异常:
03-16 11:06:24.400: E/AndroidRuntime(483): Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
我也尝试将所有的样式信息复制到styles.xml中,但这也不起作用。 您能告诉我如何给VPI设置样式吗? 谢谢! 编辑: 现在我已经添加了
<activity
android:name=".SampleTabsDefault"
android:theme="@style/StyledIndicators">
</activity>
请将以下内容添加到我的Manifest.xml文件中
并在styles.xml文件中添加以下样式
<style name="Theme.BataApp" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
<style name="StyledIndicators" parent="Theme.BataApp">
<item name="vpiTitlePageIndicatorStyle">@style/Widget.TitlePageIndicator</item>
<item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
<item name="vpiTabTextStyle">@style/Widget.TabPageIndicator.Text</item>
</style>
结果:我没有收到任何异常,看到了样式,但是现在我看不到任何片段 :(
活动的代码可以在这里找到:http://pastebin.com/hsNgxFDZ 当前页面的样式截图:
<item name="android:background">@drawable/my_tab_indicator</item>
。如果您只想更改选项卡的背景颜色,请将背景设置为ViewPagerIndicator本身。 - ReiniervpiTabTextStyle
,而是使用TextAppearance.TabPageIndicator
样式的一部分,代替了android:textSize
和android:textColor
。 - pingw33n