升级至Androidx ViewPager2后dotsSpacing属性未找到错误怎么解决
错误原因
官方androidx.viewpager2.widget.ViewPager2本身不提供dotsSpacing、dotsColor这类圆点指示器相关的自定义属性,你当前布局中id为dots_indicator的控件错误声明成了原生ViewPager2,这些属性是圆点指示器组件(第三方开源库或你项目内自定义控件)的专属属性,所以编译时会提示属性找不到。
修复步骤
- 确认你之前集成的圆点指示器依赖已经正确引入到项目的Module级build.gradle文件中,没有因为升级AndroidX被误删。
- 修改
dots_indicator对应的控件声明,替换错误的原生ViewPager2标签:
如果你用的是主流的第三方圆点指示器,直接替换为对应库的控件全类名即可,示例如下:
如果你是自己实现的自定义圆点指示器,直接把标签替换为你自定义控件的全类名即可,同时确认<!-- 替换原本的androidx.viewpager2.widget.ViewPager2标签为你的指示器类路径 --> <com.tbuonomo.viewpagerdotsindicator.WormDotsIndicator android:id="@+id/dots_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/controller" android:layout_centerHorizontal="true" android:layout_marginStart="32dp" android:layout_marginTop="32dp" android:layout_marginEnd="32dp" android:layout_marginBottom="32dp" app:dotsColor="@android:color/white" app:dotsCornerRadius="8dp" app:dotsSize="8dp" app:dotsWidthFactor="2.5" app:progressMode="true" app:selectedDotColor="@color/colorPrimary" app:dotsSpacing= "4dp" />res/values/attrs.xml中已经声明了dotsSpacing属性。 - 最后在页面的Java/Kotlin代码中,绑定指示器和你实际用来滑动的
guide_pager这个ViewPager2实例即可。
内容的提问来源于stack exchange,提问作者ayushkadbe
相关产品推荐
相关产品推荐

