【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
回复
举报
回复
    相关推荐