我使用这个滑块有以下滑块布局:
<com.glide.slider.library.SliderLayout
android:id="@+id/slider_product_image"
android:layout_width="500dp"
android:layout_height="350dp"/>
<com.glide.slider.library.indicators.PagerIndicator
android:id="@+id/custom_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
app:selected_height="20dp"
app:selected_width="20dp"/>
下面是我用来设置它的代码:
//Slider
for (item in prod.images) {
val sliderView = DefaultSliderView(context)
// initialize SliderLayout
sliderView
.image(item)
.setRequestOption(
RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.skipMemoryCache(true)
)
binding.sliderProductImage.addSlider(sliderView)
}
binding.sliderProductImage.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom)
binding.sliderProductImage.stopCyclingWhenTouch(false)
binding.sliderProductImage.stopAutoCycle()
滑块是基于这一个使用毕加索作为图像加载器。 原始滑块允许彻底的指示器自定义,可以在这里看到。 有一些可用的属性,如app:selected_height
和app:selected_width
,它们应该设置选定项的指示器的高度和宽度,但它们对布局本身没有任何影响。 下面是我的结果的图像:
所选指示器的大小仍然相同。 我是不是漏掉了什么? 有没有方法恰当地应用这些呢?
发现我的错误。。。 在它的底部,它说您需要将它与一个SliderLayout实例绑定以使它工作:
binding.sliderProductImage.setCustomIndicator(custom_indicator as PagerIndicator)