1# Class (SwiperDynamicSyncScene) 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @Hu_ZeQi--> 5<!--Designer: @jiangdayuan--> 6<!--Tester: @lxl007--> 7<!--Adviser: @HelloCrease--> 8 9提供Swiper组件相关帧率的配置。 10 11> **说明:** 12> 13> - 本模块首批接口从API version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 14> 15> - 本Class首批接口从API version 12开始支持。 16> 17> - SwiperDynamicSyncScene继承自[DynamicSyncScene](arkts-apis-uicontext-dynamicsyncscene.md),对应Swiper的动态帧率场景。 18 19## 属性 20 21**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 22 23**系统能力:** SystemCapability.ArkUI.ArkUI.Full 24 25| 名称 | 类型 | 只读 | 可选 | 说明 | 26| --------- | --------------------------------------------------------- | ---- | ---- | ---------------------------------- | 27| type<sup>12+</sup> | [SwiperDynamicSyncSceneType](./arkts-apis-uicontext-e.md#swiperdynamicsyncscenetype12) | 是 | 否 | Swiper的动态帧率场景。 | 28 29**示例:** 30 31```ts 32import { SwiperDynamicSyncSceneType, SwiperDynamicSyncScene } from '@kit.ArkUI'; 33 34@Entry 35@Component 36struct Frame { 37 @State ANIMATION: ExpectedFrameRateRange = { min: 0, max: 120, expected: 90 }; 38 @State GESTURE: ExpectedFrameRateRange = { min: 0, max: 120, expected: 30}; 39 private scenes: SwiperDynamicSyncScene[] = []; 40 41 build() { 42 Column() { 43 Text("动画"+ JSON.stringify(this.ANIMATION)) 44 Text("跟手"+ JSON.stringify(this.GESTURE)) 45 Row(){ 46 Swiper() { 47 Text("one") 48 Text("two") 49 Text("three") 50 } 51 .width('100%') 52 .height('300vp') 53 .id("dynamicSwiper") 54 .backgroundColor(Color.Blue) 55 .autoPlay(true) 56 .onAppear(()=>{ 57 let scenes = this.getUIContext().requireDynamicSyncScene("dynamicSwiper") as SwiperDynamicSyncScene[]; 58 if (scenes) { 59 this.scenes = scenes; 60 } 61 }) 62 } 63 64 Button("set frame") 65 .onClick(() => { 66 this.scenes.forEach((scenes: SwiperDynamicSyncScene) => { 67 68 if (scenes.type == SwiperDynamicSyncSceneType.ANIMATION) { 69 scenes.setFrameRateRange(this.ANIMATION); 70 } 71 72 if (scenes.type == SwiperDynamicSyncSceneType.GESTURE) { 73 scenes.setFrameRateRange(this.GESTURE); 74 } 75 }); 76 }) 77 } 78 } 79} 80```