viewpager studio relex pageindicatorview circleindicator bullets android viewpagerindicator

android - studio - Error al encontrar el estilo vpiCirclePageIndicatorStyle



pageindicatorview (4)

La actividad que utiliza ViewPagerIndicator debe tener los estilos apropiados en su tema.

En este proyecto de muestra , demuestro la configuración de un tema personalizado con el vpiTabPageIndicatorStyle requerido:

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

El mismo enfoque básico debería funcionar para vpiCirclePageIndicatorStyle y me imagino que el código de muestra que acompaña a ViewPagerIndicator tiene un ejemplo de esto.

Quería tener un indicador de página en mi proyecto, pero tengo problemas para importarlo. Tengo errores en mi 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

Mi archivo 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>

Mis res / values ​​/ styles.xml actualizados

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

Mi estructura de proyecto está aquí, donde vpilibrary es la biblioteca importada viewpageindicator

¿Qué tiene de malo? y déjame saber si necesitas más archivos para la depuración. Gracias

ps: mi minsdkversion y targetsdkversion son ambos 16


Para aplicar el estilo personalizado al indicador de página de círculo, agregue el atributo de estilo directamente en su diseño 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"/>


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>

Ahora en tu archivo de manifiesto. Añadir atributo de tema en

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

No olvides añadir

android:theme="@style/AppTheme"


Problema:

Solución:

  1. Agregue un estilo personalizado en res/layout/values/styles.xml

Puedes encontrar algunos ejemplos here .

<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. Agregue un nuevo estilo como tema en su actividad, "StyledIndicators":

    <activity android:name=".YourActivity" android:theme="@style/StyledIndicators" > </activity>

  2. Después de eso solo necesita cambiar al tema que viene con el proyecto, elija Temas de Manifiesto - Indicadores de Estilo.