API参考如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5\#displayonfoldstatuschange10https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5\#displayisfoldable10import { display } from '@kit.ArkUI'; @Entry({ routeName: 'FoldPage' }) @Component export struct FoldPage { @State isFoldable: boolean = false; @State FoldStatus: number = display.FoldStatus.FOLD_STATUS_UNKNOWN; private onFoldStateChange: Callback<display.FoldStatus> = (data: display.FoldStatus) => { this.FoldStatus = data; // 在这里处理折叠屏的监听 switch (this.FoldStatus) { case display.FoldStatus.FOLD_STATUS_EXPANDED: console.info('FoldPage::onFoldStateChange, 当前处于展开态'); break; case display.FoldStatus.FOLD_STATUS_FOLDED: console.info('FoldPage::onFoldStateChange, 当前处于折叠态'); break; case display.FoldStatus.FOLD_STATUS_HALF_FOLDED: console.info('FoldPage::onFoldStateChange, 当前处于半折叠态'); break; default: console.info('FoldPage::onFoldStateChange, 当前处于未知态'); break; } }; aboutToAppear(): void { console.debug('FoldPage::aboutToAppear') } onPageShow(): void { console.debug('FoldPage::onPageShow') this.isFoldable = display.isFoldable(); if (this.isFoldable) { this.FoldStatus = display.getFoldStatus(); display.on('foldStatusChange', this.onFoldStateChange); } } onPageHide(): void { console.debug('FoldPage::onPageHide') if (this.isFoldable) { display.off('foldStatusChange', this.onFoldStateChange); } } aboutToDisappear(): void { console.debug('FoldPage::aboutToDisappear') } build() { Navigation() { Column() { Text('当前设备是否为折叠屏:' + this.isFoldable).TextStyle() Text('当前折叠屏的状态:' + this.FoldStatus.toString()).TextStyle() } } .width('100%') .mode(NavigationMode.Stack) .title('har包折叠屏测试') // 设置标题文字 } } @Extend(Text) function TextStyle() { .fontSize(28).margin({ top: 26 }) }
API参考如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5\#displayonfoldstatuschange10
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5\#displayisfoldable10