相关问题
#鸿蒙通关秘籍#如何实现应用界面的沉浸式效果?
57浏览 • 1回复 待解决
HarmonyOS 在2in1设备上,代码中怎么处理,默认焦点所在的组件可以高亮展示?
238浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙设备上利用动画特性实现动态效果?
22浏览 • 1回复 待解决
#鸿蒙通关秘籍#HarmonyOS上的应用如何实现跨设备无缝流转?
94浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在多个设备上共享任务数据?
161浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统上实现应用内全局悬浮窗
79浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中创建响应式界面?
46浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkUI中实现模态弹窗?
51浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在组件上实现拖动效果?
98浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中实现NavDestination的Dialog弹窗与主页面的联动效果?
48浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在List组件中实现子组件超出容器边缘
14浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中适配不同尺寸设备的弹窗样式?
63浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用条件渲染控制界面显示?
130浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在Text组件上实现双击手势?
68浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中处理列表的滚动超出安全区?
52浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中显示本地存档图片?
33浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中显示网络图片?
69浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙ArkUI中创建并显示自定义弹窗?
36浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙上实现全屏登录页面的跳转效果?
57浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS实现下载进度显示?
84浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next上实现Echarts图表组件?
141浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统间查询远程设备上的数据库?
60浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中实现退出登录?
106浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在自定义弹窗中实现路由跳转?
98浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT项目中实现页面的路由跳转?
109浏览 • 1回复 待解决
在ArkUI中,通过设置showInSubWindow可以使模态弹窗显示在主窗口之外,以下代码展示了如何实现这一效果:
bash // xxx.ets
@CustomDialog struct CustomDialogExample { controller?: CustomDialogController cancel: () => void = () => { } confirm: () => void = () => { } build() { Column() { Text('可展示在主窗口外的弹窗') .fontSize(30) .height(100) Button('点我关闭弹窗') .onClick(() => { if (this.controller != undefined) { this.controller.close() } }) .margin(20) } } } @Entry @Component struct CustomDialogUser { dialogController: CustomDialogController | null = new CustomDialogController({ builder: CustomDialogExample({ cancel: ()=> { this.onCancel() }, confirm: ()=> { this.onAccept() } }), cancel: this.existApp, autoCancel: true, alignment: DialogAlignment.Center, offset: { dx: 0, dy: -20 }, gridCount: 4, showInSubWindow: true, isModal: true, customStyle: false, cornerRadius: 10, })
aboutToDisappear() { this.dialogController = null }
onCancel() { console.info('Callback when the first button is clicked') }
onAccept() { console.info('Callback when the second button is clicked') }
existApp() { console.info('Click the callback in the blank area') }
build() { Column() { Button('click me') .onClick(() => { if (this.dialogController != null) { this.dialogController.open() } }).backgroundColor(0x317aff) }.width('100%').margin({ top: 5 }) } }