web-dev-qa-db-ja.com

スタイルvpiCirclePageIndicatorStyleが見つかりませんでした

プロジェクトに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>

私のプロジェクト構造はここにあります。ここで、vpilibraryはインポートされたviewpageindicatorライブラリです。

enter image description here

どうしたんだ?デバッグ用にさらにファイルが必要な場合はお知らせください。どうも

ps:私のminsdkversionとtargetsdkversionは両方とも16です

20
Daniel

問題: Problem

解決策:

  1. res/layout/values/styles.xmlにカスタムスタイルを追加します

あなたはいくつかの例を見つけることができます ここ

<style name="StyledIndicators" parent="@Android:style/Theme.Light">
    <item name="vpiCirclePageIndicatorStyle">@style/CustomCirclePageIndicator</item>
</style>

<style name="CustomCirclePageIndicator">
    <item name="fillColor">#000000</item>
    <item name="strokeColor">#000000</item>
    <item name="strokeWidth">1dp</item>
    <item name="radius">6dp</item>
    <item name="centered">true</item>
</style>
  1. アクティビティ「StyledIndicators」のテーマとして新しいスタイルを追加します。

    <activity
        Android:name=".YourActivity"
        Android:theme="@style/StyledIndicators" >
    </activity>
    
  2. その後、テーマをプロジェクトに付属のテーマに変更する必要があります。[マニフェストテーマ]-[StyledIndicators]を選択します。

enter image description here

16

styles.xml

<?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>

マニフェストファイルになりました。下にテーマ属性を追加

<application
    Android:icon="@drawable/icon"
    Android:label="ViewPagerIndicator Sample"
    Android:theme="@style/AppTheme" >

追加することを忘れないでください

  Android:theme="@style/AppTheme"
9
Suyog Gunjal

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>

同じ基本的なアプローチがvpiCirclePageIndicatorStyleでも機能するはずであり、ViewPagerIndicatorに付属するサンプルコードにこの例があると思います。

6
CommonsWare

カスタムスタイルをサークルページインジケーターに適用するには、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"/>
0
toidiu