鸿蒙学习-PageSlider,PageSliderIndica
PageSlider是用于页面之间切换的组件,它通过响应滑动事件完成页面间的切换。
PageSliderIndicator,需配合PageSlider使用,指示在PageSlider中展示哪个界面。
PageSlider
每个页面可能需要呈现不同的数据,因此需要适配不同的数据结构,创建TestPageProvider.java,需继承PageSliderProvider.java,必须重写以下方法:
getCount():获取可用视图的数量。
createPageInContainer(ComponentContainer componentContainer, int position):在指定位置创建页面。
destroyPageFromContainer(ComponentContainer componentContainer, int i, Object o):销毁容器中的指定页面。
isPageMatchToObject(Component component, Object o):视图是否关联指定对象。
常用方法表
setProvider(PageSliderProvider provider)
设置Provider,用于配置PageSlider的数据结构。
addPageChangedListener(PageChangedListener listener)
响应页面切换事件。
removePageChangedListener(PageChangedListener listener)
移除页面切换的响应。
setOrientation(int orientation)
设置布局方向。
setPageCacheSize(int count)
设置要保留当前页面两侧的页面数。
setCurrentPage(int itemPos)
设置当前展示页面。
setCurrentPage(int itemPos, boolean smoothScroll)
设置当前展示界面,并确定是否需要平滑滚动。
setSlidingPossible(boolean enable)
是否启用页面滑动。
setReboundEffect(boolean enabled)
是否启用回弹效果。
setReboundEffectParams(int overscrollPercent, float overscrollRate,int remainVisiblePercent)
setReboundEffectParams(ReboundEffectParams reboundEffectParams)
配置回弹效果参数。
setPageSwitchTime(int durationMs)
设置页面切换时间。
PageSliderIndicator
常用方法
关联PageSlider
indicator.setPageSlider(pageSlider);
响应页面更改事件
indicator.addOnSelectionChangedListener(new PageSlider.PageChangedListener() {
@Override
public void onPageSliding(int i, float v, int i1) {
}
@Override
public void onPageSlideStateChanged(int i) {
}
@Override
public void onPageChosen(int i) {
}
});
设置所选指导航点的位置
indicator.setSelected(2);
设置选中样式和未选中样式
indicator.setItemElement(normalElement, selectedElement);
设置item之间的偏移量
indicator.setItemOffset(60);