回复
【HarmonyOS】PageSlider组件使用(一)组件介绍 原创
拓维信息Abin
发布于 2021-8-24 16:36
浏览
3收藏
一、组件概述
PageSlider是一种布局管理器,用于页面之间切换的组件,允许用户左右滑动以及上下滑动来翻页,它通过响应滑动事件完成页面间的切换。
PageSlider作为一个容器类,它允许您添加其他视图。必须设置PageSliderProvider以生成组件显示的页面。
二、创建方法
在工程layout目录下的布局xml文件中创建PageSlider。
······
<PageSlider
ohos:id="$+id:page_slider_component"
ohos:height="match_parent"
ohos:width="match_parent"/>
······
通常都是使用布局XML方式创建,极少数使用代码方式进行创建。如果想使用代码方式创建PageSlider,需要使用Context参数的构造函数。
public PageSlider(ohos.app.Context context) { /* compiled code */ }
三、支持的XML属性
PageSlide继承自StackLayout,所以PageSlide也继承了来自StackLayout的所有XML属性。除了这些共有的XML属性之外,PageSlide还有两个自己支持的XML属性。
XML属性定义如下:
<component name="PageSlider">
<attr name="page_cache_size" type="integer" />
<attr name="orientation">
<enum name="horizontal" value="0" />
<enum name="vertical" value="1" />
</attr>
</component>
XML属性说明:
属性名称 | 有效值 | 说明 |
---|---|---|
ohos:orientation | vertical | horizontal | 设置布局方向。可以设置水平方向(horizontal)和垂直方向(vertical) |
ohos:page_cache_size | integer | 设置缓存当前页面左右两侧的页面数。有效值不能够大于总页面数量。 |
XML属性在布局文件中使用如下:
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:alignment="center"
ohos:orientation="vertical">
<PageSlider
ohos:id="$+id:page_slider_component"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:page_cache_size="2"/>
</DirectionalLayout>
四、支持的Java方法(属性)
方法名 | 作用 |
---|---|
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) | 设置页面切换时间。 |
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-9-10 08:52:36修改
赞
3
收藏 3
回复
相关推荐