轮播处理
Swiper本身是一个容器组件,当设置了多个子组件后,可以对这些子组件进行轮播显示
在自身尺寸属性未被设置时,会自动根据子组件的大小设置自身的尺寸
参数:
通过loop属性控制是否循环播放,该属性默认值为true。
通过设置autoPlay属性,控制是否自动轮播子组件。该属性默认值为false
通过indicatorStyle属性自定义导航点的位置和样式
语法:
1、创建轮播实例对象–SwiperController系统函数
private swiperController: SwiperController = new SwiperController()
2、创建轮播容器
Swiper(this.swiperController) {
3、轮播内容
}
.参数1
.参数2
…
示例1
@Entry
@Component
struct Test03 {//创建轮播实例对象--SwiperController系统函数private swiperController: SwiperController = new SwiperController()build() {Column() {Swiper(this.swiperController) {Text("轮播图1").width('90%').height('100%').backgroundImage($r('app.media.s0')).backgroundImageSize({"width":"100%","height":"100%"}).textAlign(TextAlign.Center).fontSize(30)Text("轮播图2").width('90%').height('100%').backgroundImage($r('app.media.s3')).backgroundImageSize({"width":"100%","height":"100%"}).textAlign(TextAlign.Center).fontSize(30)Text("轮播图3").width('90%').height('100%').backgroundImage($r('app.media.s4')).backgroundImageSize({"width":"100%","height":"100%"}).textAlign(TextAlign.Center).fontSize(30)}.loop(true).autoPlay(true).interval(1000).indicatorStyle({size: 80,left: 0,color: Color.Red})}.height('100%').width('100%')}
}
手动导航
@Entry
@Component
struct Test03 {//创建轮播实例对象--SwiperController系统函数private swiperController: SwiperController = new SwiperController()build() {Column() {Swiper(this.swiperController) {Text("轮播图1").width('90%').height('100%').backgroundImage($r('app.media.s0')).backgroundImageSize({"width":"100%","height":"100%"}).textAlign(TextAlign.Center).fontSize(30)Text("轮播图2").width('90%').height('100%').backgroundImage($r('app.media.s3')).backgroundImageSize({"width":"100%","height":"100%"}).textAlign(TextAlign.Center).fontSize(30)Text("轮播图3").width('90%').height('100%').backgroundImage($r('app.media.s4')).backgroundImageSize({"width":"100%","height":"100%"}).textAlign(TextAlign.Center).fontSize(30)}.loop(true).autoPlay(true).interval(1000).indicatorStyle({size: 80,left: 0,color: Color.Red})Row({ space: 12 }) {Button('下一个').onClick(() => {this.swiperController.showNext(); // 通过controller切换到后一页})Button('前一个').onClick(() => {this.swiperController.showPrevious(); // 通过controller切换到前一页})}.margin(5)}.height('70%').width('100%')}
}
轮播方向
当vertical为true时,表示在垂直方向上进行轮播;
为false时,表示在水平方向上进行轮播。
vertical默认值为false。
显示多个子页面
displayCount(页面数量)
Swiper(this.swiperController) {
。。。。。
}
.indicator(true)
.vertical(true)
.displayCount(2)