HarmonyOS鸿蒙Next中悬浮窗边框能去掉吗?
HarmonyOS鸿蒙Next中悬浮窗边框能去掉吗?
比如这个图,我是以悬浮窗的形式创建的,但是我只想要其中红色的内容显示,而不要外面这一圈的边框,设置了
//设置窗口的背景色 win.setWindowBackgroundColor("#00000000"),也是不行的。
您好,目前已有需求规划,支持设置子窗口的外观属性,请关注下后续版本更新。
更多关于HarmonyOS鸿蒙Next中悬浮窗边框能去掉吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
能提供个demo么 我这边没有复现出这个边框
- 在
main\module.json5
里面添加
"requestPermissions": [
{
"name": "ohos.permission.SYSTEM_FLOAT_WINDOW",
"usedScene": {
"abilities": [
"FloatWindowAbility"
],
"when": "inuse"
}
}
]
- 在
Entryability
的onWindowStageCreate
里面添加
// 创建悬浮窗
windowStage.createSubWindow("floatWindow", (err, win) => {
if (err.code) {
console.error('Failed to create the floatWindow. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in creating the floatWindow. Data: ' + JSON.stringify(win));
// 设置悬浮窗位置
win.moveWindowTo(100, 300);
// 设置悬浮窗大小
win.resize(200, 200);
// 为悬浮窗加载页面内容
win.setUIContent("pages/FloatContent", () => {
// 设置窗口的背景色
win.setWindowBackgroundColor("#00000000");
// 显示悬浮窗
win.showWindow();
});
});
- 创建页面
FloatContent
,添加
import { window } from '@kit.ArkUI';
@Entry
@Component
struct FloatContent {
floatWindow: window.Window = window.findWindow("floatWindow");
build() {
Row() {
Text('10:30')
.fontSize(30)
.fontColor('#ff00')
.fontWeight(600)
.textAlign(TextAlign.Center)
.width('100%')
.height('100%');
}
.height('100%')
.width('100%');
}
}
- 在
Index
里面添加
@Entry
@Component
struct Index {
build() {
Column() {
Text('this')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.backgroundColor('#ff5fc886');
}
.height('100%')
.width('100%');
}
}
在HarmonyOS鸿蒙Next中,悬浮窗的边框默认是存在的,但可以通过编程方式进行调整。开发者可以通过设置窗口属性来控制悬浮窗的显示效果,包括边框的可见性。具体来说,可以通过WindowManager.LayoutParams
中的相关属性来配置悬浮窗的外观,例如设置FLAG_NOT_TOUCH_MODAL
或FLAG_LAYOUT_NO_LIMITS
等标志位,或者通过调整WindowManager.LayoutParams
的flags
和type
属性来实现边框的隐藏或自定义显示效果。需要注意的是,具体的实现方式可能需要根据应用场景和需求进行相应的代码编写和调试。
在HarmonyOS鸿蒙Next中,悬浮窗的默认设计包含边框以区分其与主界面的层次感。目前官方并未提供直接去除边框的选项。如果你希望实现无边框效果,可以考虑通过自定义悬浮窗组件或使用第三方UI库来调整样式,但需注意兼容性与系统稳定性。建议查阅官方开发者文档或社区资源获取更详细的技术支持。