Android 找不到样式vpiCirclePageIndicatorStyle

Android 找不到样式vpiCirclePageIndicatorStyle,android,viewpagerindicator,Android,Viewpagerindicator,我想在我的项目中使用viewpageindicator,但导入时遇到问题。我的XML中有错误 Missing styles. Is the correct theme chosen for this layout? Use the Theme combo box above the layout to choose a different layout, or fix the theme style references. Failed to find style 'vpiCirclePage

我想在我的项目中使用viewpageindicator,但导入时遇到问题。我的XML中有错误

Missing styles. Is the correct theme chosen for this layout?
Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.

Failed to find style 'vpiCirclePageIndicatorStyle' in current theme
我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <com.viewpagerindicator.CirclePageIndicator
        android:id="@+id/indicator"
        android:layout_width="248dp"
        android:layout_height="30dp"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/pager"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="30dp"
        android:padding="3dip" />


</RelativeLayout>

我的更新res/values/styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="hololightnoactionbar" parent="android:Theme.Holo.Light">
        <item name="android:windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
    </style>

    <style name="dividerstyle" parent="@android:style/Widget.ListView">
        <item name="android:cacheColorHint">@android:color/transparent</item>
        <item name="android:divider">@drawable/list_divider</item>
        <item name="android:dividerHeight">1px</item>
    </style>

    <style name="roundedwhitebox">
        <item name="android:background">@drawable/roundedwhitebox</item>
    </style>

    <style name="roundedlightgraybox">
        <item name="android:background">@drawable/roundedlightgraybox</item>
    </style>

    <style name="rotatingProgressCircle">
        <item name="android:indeterminateDrawable">@drawable/circleindeterminate</item>
    </style>

    <style name="StyledIndicators" parent="@android:style/Theme.Light">
        <item name="vpiCirclePageIndicatorStyle">@style/CustomCirclePageIndicator</item>
        <item name="vpiLinePageIndicatorStyle">@style/CustomLinePageIndicator</item>
        <item name="vpiTitlePageIndicatorStyle">@style/CustomTitlePageIndicator</item>
        <item name="vpiTabPageIndicatorStyle">@style/CustomTabPageIndicator</item>
        <item name="vpiUnderlinePageIndicatorStyle">@style/CustomUnderlinePageIndicator</item>
    </style>

    <style name="CustomTitlePageIndicator">
        <item name="android:background">#18FF0000</item>
        <item name="footerColor">#FFAA2222</item>
        <item name="footerLineHeight">1dp</item>
        <item name="footerIndicatorHeight">3dp</item>
        <item name="footerIndicatorStyle">underline</item>
        <item name="android:textColor">#AA000000</item>
        <item name="selectedColor">#FF000000</item>
        <item name="selectedBold">true</item>
    </style>

    <style name="CustomLinePageIndicator">
        <item name="strokeWidth">4dp</item>
        <item name="lineWidth">30dp</item>
        <item name="unselectedColor">#FF888888</item>
        <item name="selectedColor">#FF880000</item>
    </style>

    <style name="CustomCirclePageIndicator">
        <item name="fillColor">#FF888888</item>
        <item name="strokeColor">#FF000000</item>
        <item name="strokeWidth">2dp</item>
        <item name="radius">10dp</item>
        <item name="centered">true</item>
    </style>

    <style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator">
        <item name="android:textAppearance">@style/CustomTabPageIndicator.Text</item>
        <item name="android:textColor">#FF555555</item>
        <item name="android:textSize">16sp</item>
        <item name="android:divider">@drawable/custom_tab_indicator_divider</item>
        <item name="android:dividerPadding">10dp</item>
        <item name="android:showDividers">middle</item>
        <item name="android:paddingLeft">8dp</item>
        <item name="android:paddingRight">8dp</item>
        <item name="android:fadingEdge">horizontal</item>
        <item name="android:fadingEdgeLength">8dp</item>
    </style>

    <style name="CustomTabPageIndicator.Text" parent="android:TextAppearance.Medium">
        <item name="android:typeface">monospace</item>
    </style>

    <style name="CustomUnderlinePageIndicator">
        <item name="selectedColor">#FFCC0000</item>
        <item name="android:background">#FFCCCCCC</item>
        <item name="fadeLength">1000</item>
        <item name="fadeDelay">1000</item>
    </style>

</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Light.NoTitleBar">
    <item name="vpiCirclePageIndicatorStyle">@style/CustomCirclePageIndicator</item>
</style>
<style name="CustomCirclePageIndicator">
    <item name="fillColor">#FF888888</item>
    <item name="strokeColor">#FF000000</item>
    <item name="strokeWidth">2dp</item>
    <item name="radius">10dp</item>
    <item name="centered">true</item>
</style>
</resources>

假的
真的
@android:彩色/透明
@可拉拔/列表分隔器
1px
@可拉伸/圆形白盒
@可拉拔/圆形灯箱
@可拉拔/环形终止
@样式/自定义CirclePageIndicator
@样式/自定义行页面指示器
@样式/自定义标题页指示器
@样式/自定义选项卡页面指示器
@样式/自定义下划线指示符号
#18FF0000
#FFAA222
1dp
3dp
强调
#AA000000
#FF000000
真的
4dp
30dp
#FF888888
#880000瑞士法郎
#FF888888
#FF000000
2dp
10dp
真的
@style/CustomTabPageIndicator.Text
#FF555555
16便士
@可绘图/自定义选项卡指示器分隔器
10dp
中间的
8dp
8dp
水平的
8dp
单空间
#FFCC0000
#FFCCCC
1000
1000
这里是我的项目结构,其中vpilibrary是导入的viewpageindicator库

怎么了?如果您需要更多文件进行调试,请告诉我。Thx


ps:My minsdkversion和targetsdkversion都是16

使用ViewPagerIndicator的活动需要在其主题中具有适当的样式

在中,我演示了如何使用必需的
vpiTabPageIndicatorStyle
设置自定义主题:

<?xml version="1.0" encoding="utf-8"?>
<resources>

        <style name="AppTheme" parent="@style/Theme.Sherlock.Light">
                <item name="vpiTabPageIndicatorStyle">@style/TabStyle</item>
        </style>

        <style name="TabStyle" parent="Widget.TabPageIndicator">
                <item name="android:textColor">#FF33AA33</item>
                <item name="android:textSize">14sp</item>
                <item name="android:textStyle">italic</item>
                <item name="android:paddingLeft">16dp</item>
                <item name="android:paddingRight">16dp</item>
                <item name="android:fadingEdge">horizontal</item>
                <item name="android:fadingEdgeLength">8dp</item>
        </style>

</resources>

@样式/选项卡样式
#FF33AA33
14便士
斜体
16dp
16dp
水平的
8dp

同样的基本方法也适用于
vpiCirclePageIndicatorStyle
,我可以想象ViewPagerIndicator附带的示例代码就是这样一个例子。

要将自定义样式应用于圆形页面指示器,请直接在xml布局中添加样式属性

 <com.viewpagerindicator.CirclePageIndicator
        android:id="@+id/indicator"
        style="@style/CustomCirclePageIndicator"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:layout_width="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="20dp"/>

问题:

解决方案:

  • res/layout/values/styles.xml
  • 你可以找到一些例子

    
    @样式/自定义CirclePageIndicator
    #000000
    #000000
    1dp
    6dp
    真的
    
  • 在活动“StyledIndicators”中添加新样式作为主题:

    
    
  • 之后,只需要将主题更改为项目附带的主题,选择Manifest Themes-StyledIndicators

  • styles.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
    
        <style name="hololightnoactionbar" parent="android:Theme.Holo.Light">
            <item name="android:windowActionBar">false</item>
            <item name="android:windowNoTitle">true</item>
        </style>
    
        <style name="dividerstyle" parent="@android:style/Widget.ListView">
            <item name="android:cacheColorHint">@android:color/transparent</item>
            <item name="android:divider">@drawable/list_divider</item>
            <item name="android:dividerHeight">1px</item>
        </style>
    
        <style name="roundedwhitebox">
            <item name="android:background">@drawable/roundedwhitebox</item>
        </style>
    
        <style name="roundedlightgraybox">
            <item name="android:background">@drawable/roundedlightgraybox</item>
        </style>
    
        <style name="rotatingProgressCircle">
            <item name="android:indeterminateDrawable">@drawable/circleindeterminate</item>
        </style>
    
        <style name="StyledIndicators" parent="@android:style/Theme.Light">
            <item name="vpiCirclePageIndicatorStyle">@style/CustomCirclePageIndicator</item>
            <item name="vpiLinePageIndicatorStyle">@style/CustomLinePageIndicator</item>
            <item name="vpiTitlePageIndicatorStyle">@style/CustomTitlePageIndicator</item>
            <item name="vpiTabPageIndicatorStyle">@style/CustomTabPageIndicator</item>
            <item name="vpiUnderlinePageIndicatorStyle">@style/CustomUnderlinePageIndicator</item>
        </style>
    
        <style name="CustomTitlePageIndicator">
            <item name="android:background">#18FF0000</item>
            <item name="footerColor">#FFAA2222</item>
            <item name="footerLineHeight">1dp</item>
            <item name="footerIndicatorHeight">3dp</item>
            <item name="footerIndicatorStyle">underline</item>
            <item name="android:textColor">#AA000000</item>
            <item name="selectedColor">#FF000000</item>
            <item name="selectedBold">true</item>
        </style>
    
        <style name="CustomLinePageIndicator">
            <item name="strokeWidth">4dp</item>
            <item name="lineWidth">30dp</item>
            <item name="unselectedColor">#FF888888</item>
            <item name="selectedColor">#FF880000</item>
        </style>
    
        <style name="CustomCirclePageIndicator">
            <item name="fillColor">#FF888888</item>
            <item name="strokeColor">#FF000000</item>
            <item name="strokeWidth">2dp</item>
            <item name="radius">10dp</item>
            <item name="centered">true</item>
        </style>
    
        <style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator">
            <item name="android:textAppearance">@style/CustomTabPageIndicator.Text</item>
            <item name="android:textColor">#FF555555</item>
            <item name="android:textSize">16sp</item>
            <item name="android:divider">@drawable/custom_tab_indicator_divider</item>
            <item name="android:dividerPadding">10dp</item>
            <item name="android:showDividers">middle</item>
            <item name="android:paddingLeft">8dp</item>
            <item name="android:paddingRight">8dp</item>
            <item name="android:fadingEdge">horizontal</item>
            <item name="android:fadingEdgeLength">8dp</item>
        </style>
    
        <style name="CustomTabPageIndicator.Text" parent="android:TextAppearance.Medium">
            <item name="android:typeface">monospace</item>
        </style>
    
        <style name="CustomUnderlinePageIndicator">
            <item name="selectedColor">#FFCC0000</item>
            <item name="android:background">#FFCCCCCC</item>
            <item name="fadeLength">1000</item>
            <item name="fadeDelay">1000</item>
        </style>
    
    </resources>
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="AppTheme" parent="android:Theme.Light.NoTitleBar">
        <item name="vpiCirclePageIndicatorStyle">@style/CustomCirclePageIndicator</item>
    </style>
    <style name="CustomCirclePageIndicator">
        <item name="fillColor">#FF888888</item>
        <item name="strokeColor">#FF000000</item>
        <item name="strokeWidth">2dp</item>
        <item name="radius">10dp</item>
        <item name="centered">true</item>
    </style>
    </resources>
    

    我没有意识到这一点。谢谢。无论如何,我将ViewPAgerIndicator的示例样式文件添加到了样式xml中。但它仍然不见了。我想我还是缺少一些组件。请检查我更新的样式xml文件,以了解可能忽略的it@Daniel:在清单中显示活动使用
    样式指示器的位置。我将这样的样式添加到我的styles.xml中,并被卡住了几个小时,直到我意识到我有多个styles.xml文件。需要添加到所有。
    
    <application
        android:icon="@drawable/icon"
        android:label="ViewPagerIndicator Sample"
        android:theme="@style/AppTheme" >
    
      android:theme="@style/AppTheme"