# Class (DynamicSyncScene) 提供组件自定义场景下相关帧率的配置。 > **说明:** > > - 本模块首批接口从API version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > > - 本Class首批接口从API version 12开始支持。 > > - 以下接口需先使用UIContext中的requireDynamicSyncScene()方法获取DynamicSyncScene对象,再通过此实例调用对应方法。 ## setFrameRateRange12+ setFrameRateRange(range: ExpectedFrameRateRange): void 设置期望帧率范围。 最终结果不一定是设置的帧率,会由系统能力做综合决策,尽量满足开发者的设置帧率。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------- | ---- | ---- | | range | [ExpectedFrameRateRange](../apis-arkui/arkui-ts/ts-explicit-animation.md#expectedframeraterange11)| 是 | 设置期望的帧率范围。
默认值:{min:0, max:120, expected: 120} | **示例:** ```ts import { SwiperDynamicSyncSceneType, SwiperDynamicSyncScene } from '@kit.ArkUI'; @Entry @Component struct Frame { @State ANIMATION: ExpectedFrameRateRange = { min: 0, max: 120, expected: 90 }; @State GESTURE: ExpectedFrameRateRange = { min: 0, max: 120, expected: 30}; private scenes: SwiperDynamicSyncScene[] = []; build() { Column() { Text("动画"+ JSON.stringify(this.ANIMATION)) Text("跟手"+ JSON.stringify(this.GESTURE)) Row(){ Swiper() { Text("one") Text("two") Text("three") } .width('100%') .height('300vp') .id("dynamicSwiper") .backgroundColor(Color.Blue) .autoPlay(true) .onAppear(()=>{ this.scenes = this.getUIContext().requireDynamicSyncScene("dynamicSwiper") as SwiperDynamicSyncScene[]; }) } Button("set frame") .onClick(() => { this.scenes.forEach((scenes: SwiperDynamicSyncScene) => { if (scenes.type == SwiperDynamicSyncSceneType.ANIMATION) { scenes.setFrameRateRange(this.ANIMATION); } if (scenes.type == SwiperDynamicSyncSceneType.GESTURE) { scenes.setFrameRateRange(this.GESTURE); } }); }) } } } ``` ## getFrameRateRange12+ getFrameRateRange(): ExpectedFrameRateRange 获取期望帧率范围。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------------- | ------- | | [ExpectedFrameRateRange](../apis-arkui/arkui-ts/ts-explicit-animation.md#expectedframeraterange11) | 期望帧率范围。| **示例:** ```ts import { SwiperDynamicSyncSceneType, SwiperDynamicSyncScene } from '@kit.ArkUI'; @Entry @Component struct Frame { @State ANIMATION: ExpectedFrameRateRange = { min: 0, max: 120, expected: 90 }; @State GESTURE: ExpectedFrameRateRange = { min: 0, max: 120, expected: 30 }; private scenes: SwiperDynamicSyncScene[] = []; build() { Column() { Text("动画"+ JSON.stringify(this.ANIMATION)) Text("跟手"+ JSON.stringify(this.GESTURE)) Row(){ Swiper() { Text("one") Text("two") Text("three") } .width('100%') .height('300vp') .id("dynamicSwiper") .backgroundColor(Color.Blue) .autoPlay(true) .onAppear(() => { this.scenes = this.getUIContext().requireDynamicSyncScene("dynamicSwiper") as SwiperDynamicSyncScene[]; }) } Button("set frame") .onClick(() => { this.scenes.forEach((scenes: SwiperDynamicSyncScene) => { if (scenes.type == SwiperDynamicSyncSceneType.ANIMATION) { scenes.setFrameRateRange(this.ANIMATION); scenes.getFrameRateRange(); } if (scenes.type == SwiperDynamicSyncSceneType.GESTURE) { scenes.setFrameRateRange(this.GESTURE); scenes.getFrameRateRange(); } }); }) } } } ```