首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【HarmonyOS NEXT】页面沉浸式效果开发

关键词:沉浸式、安全区域、通知栏、导航栏 在移动应用开发中,应用在默认情况下窗口背景绘制范围是全屏,但UI元素被限制在安全区内(自动避开状态栏和导航栏)进行布局,来避免界面元素被状态栏和导航条遮盖(即状态栏与导航栏区域为非安全区...编辑目录方案一 设置主窗口或子窗口的布局为沉浸式布局 设置窗口沉浸式 保存状态栏与导航栏高度 避让状态栏或导航栏 场景1 滚动容器不重叠非安全区场景2 滚动容器重叠非安全区方案二 设置安全区域 expandSafeArea...属性达到沉浸式场景1 滚动容器不重叠非安全区场景2 滚动容器重叠非安全区效果场景3 图片视频场景方案一 设置主窗口或子窗口的布局为沉浸式布局该种方式会将整个 ability 中展示的页面都变为全屏展示效果...避让状态栏或导航栏页面使用 StorageProp 获取导航栏与通知栏高度并进行避让,并自行调节布局达到滚动时是否与通知栏或导航栏重叠效果场景1 滚动容器不重叠非安全区给滚动控件的父控件设置内边距即可,...编辑​编辑场景3 图片视频场景针对于图片或视频内容,我们对页面安全区进行延申后,图片还是距离屏幕顶部存在状态栏的高度,同理,我们只需要给 Image 组件设置向上延申安全区的效果即可。​

11810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS小技能:设置状态栏背景颜色(图片)

    引言 设置状态栏背景颜色的解决方案: 使用新的API 【statusBarManager】 通过安全区域高度判断是否IphoneX之后的机型:if ([UIApplication sharedApplication...但是如果有状态是有透明或者半透明的效果,上面这个方法还是不能胜任,越透明越明显;经过一番查找,终于发现问题: 问题: 1、iOS 13之前,可以通过valueForKey 获取UIApplication...因此这个方法多次调用就会创建多份statusBar,造成内存开销不说,想设置状态栏为为透明,根本没效果。 解决办法:既然定位到问题所在,办法就是保证iOS 13 之后,每次也都能拿到有去只有一个对象。...(24.0):(0)) /*底部安全区域远离高度*/ #define kDtatusBarHeight (CGFloat)(isIphoneX?...(0, 0, kWidth, kStatusBarHeight)]; 2.2 应用场景2:设置状态栏背景图片 /** 用于设置状态栏的背景图片 */ @property (weak, nonatomic

    2K40

    掌握 SwiftUI 的 Safe Area

    掌握 SwiftUI 的 Safe Area 访问我的博客 www.fatbobman.com[1] 可以获得更好的阅读体验 Safe Area(安全区域)是指不与导航栏、标签栏、工具栏或其他视图控制器提供的视图重叠的内容空间...本文将探讨如何在 SwiftUI 中获取 SafeAreaInsets、将视图绘制到安全区域之外、修改视图的安全区域等内容。...•keyboard与显示在视图内容上的任何软键盘的当前范围相匹配的安全区域。...•all(默认)上述两种安全区域划分的合集 iOS 13 并没有提供键盘自动避让功能,开发者需要编写一些额外的代码来解决软键盘不恰当遮盖视图(如 TextField )的问题。...safeAreaInset 修饰符的出现解决了上述的问题。通过 safeAreaInset,我们可以缩小视图的安全区域,以确保所有内容都可以按预期显示。

    7.7K31

    Xamarin 学习笔记 - 配置环境(Windows & iOS)

    你可以在一个Portable工程里面通过XAML加上C#或者使用Xamarin.Android或Xamarin.iOS构建表单,在这种情况下,我们需要用到特定的本地环境,比如说通过C#代码操纵iOS的Storyboard...这是关于Xamarin的一个概要描述: ? “Xamarin不是一个单一的事物,而是许多事物的集合。” 这是与Xamarin有关的一个简短的描述,你可以找到更多的文档进一步阐述其优点和缺点。...背景 需要具有C#和移动端开发的基础知识。 设置开发环境(Windows以及iOS) 重要的是要注意,这些工具的发展速度非常快,根据你阅读这篇文章的情况,这些工具可能不是很有用。...设置环境 你可以在以下文档中找到Windows或iOS所需的全部要求: https://developer.xamarin.com/guides/cross-platform/getting_started...解压缩其内容,确保内容中没有文件夹。

    6.2K20

    最新iOS设计规范七|10大视觉规范(Visual Design)

    这些布局指南可确保根据设备和上下文进行适当的插入。安全区域还可以防止内容重叠在状态栏,导航栏,工具栏和选项卡栏上。系统提供的标准视图将自动采用安全区域布局指南。...与旧款iPhone相比,全屏iPhone的内容垂直空间更大,状态栏占据了你APP可能根本无法充分利用的屏幕区域。状态栏还显示用户认为有用的信息。它只在可以换取附加价值的时候才隐藏起来。...过多或不必要的动画会使人感到与外界分离或分散注意力,尤其是在无法提供身临其境的体验的应用程序中。iOS使用运动效果(例如视差效果)在主屏幕和其他区域创建深度感。...色盲人可能无法区分某些颜色组合;而对比度不足会导致图标和文本与背景混合,使内容难以阅读。 系统颜色 iOS提供了一系列的系统颜色,可自动适应活动和可访问性设置的变化,如增加对比度和降低透明度。...iOS 13还引入了一系列六种不透明的灰色颜色,你可以在半透明效果不佳的极少数情况下使用它们。例如:交叉或重叠元素(例如网格中的线条或条形)在不透明基础上看起来更好。

    8.1K30

    官宣 .NET MAUI 预览版 6

    在预览版 4 中,启用了适用于 Android、iOS、macOS 和 Mac Catalyst 的底层 SDK,现在在预览版 6 中,我们引入了 maui、maui-mobile 和 maui-desktop...剪裁: 当您需要屏蔽内容时,您现在可以将形状添加到布局或视图的剪辑区域。 最常见的用途是制作圆形图像。...这些可以是简单的信息弹出窗口、简单的输入表单,甚至是具有多个选项的操作表来指导用户。这些可以从 .NET MAUI 应用程序中的任何页面获得。.../user-interface/pop-ups#display-an-alert 简单的输入表单: https://docs.microsoft.com/zh-cn/xamarin/xamarin-forms...要查看未来版本中的内容,请访问我们的产品路线图。 有任何技术问题,请在Microsoft Q&A论坛上提问。

    2.4K10

    Android Q暗色模式适配踩坑—状态栏

    暗色模式已经不是什么新鲜玩意了,大家最近看到关于暗色模式最多的内容可能就是iOS版本微信未适配暗色模式面临被AppStore下架的风险。...方案一: 我们知道,如果不认为去设置SystemUI的Visibility,系统会自动根据当前主题颜色来适配状态栏是否进行反色,那么我们如果去掉这个这个人为设置的flag, 是否就可以解决这个问题。...也就是说,暗色模式下的状态栏,需要自己适配。并且,Activity的内容与状态栏出现了重叠。 ?...,但是暗色模式下,Activity内容依然与状态栏重叠。...之所以正常模式下,不会出现重叠,是因为二次设置LIGHT_STATUS_BAR会覆盖前面的属性。 很明显,我们的内容并不需要延伸至状态栏下,所以前面的代码就是无用的,删除即可。

    2K10

    .NET MAUI 社区工具包 1.3版本发布

    此版本包括错误修复和多项增强功能,例如 gravatar 支持、彩色状态栏和控件的淡入淡出动画。...MAUI(多应用程序用户界面)框架是微软用于跨平台应用程序开发的最新框架,取代了 Xamarin 和 Xamarin Forms。....NET MAUI区工具包 (NMCT) 是微软在 GitHub 上托管的 .NET 社区工具包之一。他们的目的是让社区贡献官方框架中缺少的有用代码。...其中两项工具包改进已作为行为实现,这是MAUI框架中的设计决策,允许开发人员向现有用户界面控件添加功能,而无需对它们进行子类化并使用扩展类。 彩色状态栏是一种称为状态栏行为的新行为类。...它允许开发人员将其添加到页面行为的集合中,指定状态栏颜色和样式(无论是深色还是浅色内容)。

    59820

    iOS 11 安全区域适配总结

    | 导语 本文主要是对iOS 11下企鹅 FM APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。...一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析 问题如下图所示: ? 1....关于什么情况下会发生内容下移的问题,本文第三部分有介绍。 2. 安全区域的概念 系统自动调整tableView内容偏移量,是根据安全区域来调整的。安全区域是iOS 11新提出的,如下图所示: ?...即使把navigationbar设置为透明的,系统也认为安全区域是从navigationbar的bottom开始,保证不被系统的状态栏、或导航栏覆盖。...五、遇到的另外一个与安全区域无关的tableView内容下移的问题 我的作品页面的tableView下移了约40pt,这里是否跟安全区域有关呢? ?

    1.8K100

    使用 Xamarin 开发 iOS 键盘扩展(含网络访问)

    你可以在 Walterlv.CloudKeyboard 仓库中获得本文所述的全部源代码。 搭建环境 本文不会花篇幅来讲如何搭建 Xamarin iOS 开发的环境,不然这篇文章就没有重点。...当然我不会在这里说 iOS 应用开发的所有背景知识,只会说与 iOS 键盘扩展相关的部分。 iOS 键盘扩展是 iOS 扩展的一种,而 iOS 扩展是 iOS 8.0 才开始引入的概念。...开启之后,你就能在你的键盘里面访问网络了。 允许访问 http 不安全网络 一般来说你不用阅读这一小节的内容。因为现在基本上各种服务都已经是 https 了,http 基本已经绝迹。...这样,你就能在键盘中访问 http://walterlv.com 了。 本文总结 本文介绍了使用 Xamarin 开发 iOS 键盘插件的背景知识。...博客 如果你还遇到了一些其他诡异的问题: 欢迎阅读 使用 Xamarin 开发 iOS 应用中需要注意的若干个问题。

    2.2K10

    iPhoneX 适配实践

    上图为官方标准的黑色背景,注意不是纯黑色的,还能分辨传感器区域  三、SafeArea安全区域 安全区域是指在屏幕顶部和底部区域之间能正常显示内容的区域。...顶部区域包括导航栏、状态栏或者传感器区域,底部区域包含Tabbar、工具栏或者home键指示器区域。...1、iPhoneX安全区域(全屏状态): 2、普通iPhone安全区域(包含所有状态):  3、安全区域布局SafeAreaLayoutGuide /* The top of the safeAreaLayoutGuide...: safeAreaInsets:{88, 0, 34, 0} 2、自定义工具栏 可交互的固定组件是不能遮住home键指示器,需要放置在安全区域底部内。...4、横屏交互适配 主要涉及到视频播放的边缘交互按钮。 内容 内容只需放置在SafeArea之内。同样底部如果没有固定可交互组件也要延伸到屏幕底部。

    3.8K41

    移动端H5页面开发坑点指南

    //可同时屏蔽输入框怪异的内阴影,解决iOS下无法修改按钮样式,测试还发现,加了此属性后,iOS下默认还是有圆角的,不过可以用border-radius属性修改 } select下拉选择设置问题 问题...1:右对齐实现 设置如下属性 select option { direction: rtl; } 问题2:禁用select默认箭头 ::-ms-expand修改表单控件下拉箭头,设置隐藏并使用背景图片来修饰...上会有问题,这时发现input框无法正在输入内容了;造成这个原因是-webkit-user-select:none;这个属性,解决方法就是在css文件中同时设置一下input的属性,如下: input...;如果设置为blank,则状态栏会有一个黑色的背景;如果设置为blank-translucent,则状态栏显示为黑色半透明;如果设置为default或blank,则页面显示在状态栏的下方,即状态栏占据上方部分...:纠错 关于iOS与OS X端字体的优化(横竖屏会出现字体加粗不一致等)问题 iOS浏览器横屏时会重置字体大小,设置text-size-adjust为none可以解决iOS上的问题,但桌面版Safari

    3.1K10

    使用 Xamarin 在 iOS 真机上部署应用进行调试

    所以本文需要介绍如何使用 Xamarin 在 iOS 真机上部署应用进行调试,然后顺便说一些注意事项。...,如果你没有很好的网络代理设置,安装一整天都是可能的。...所以还是强烈建议你有一个稳定的代理网络来下载。 本文接下来的内容都假设你已经安装好了这两款应用。 背景知识 你需要知道一些背景知识,不然后面真机部署的时候失败了都不知道怎么回事。...在 XCode 中准备 在 XCode 中新建一个空白 iOS 项目(什么类型都可以),这个项目随时可以丢弃。 选择你新建的项目,会出现这个项目的信息可以填,默认在 General 标签中。...如果部署过程中发生了任何错误,请: 检查你的步骤与本文是否有出入; 参考:使用 Xamarin 开发 iOS 应用中需要注意的若干个问题 在 iPhone 上操作 打开设置 -> 通用 -> 设备管理

    2.2K20

    iOS小技能:适配安全区域距离(safeAreaInsets)

    但是如果一个view没有在视图层次结构中或未在屏幕上显示, 则safeAreaInsets为0; 1.1 问题 视图底部工具栏显示到安全区域之外 1.2 判断安全区域距离 #define isIphoneX...(24.0):(0)) /*底部安全区域远离高度*/ #define kDtatusBarHeight (CGFloat)(isIphoneX?...inline的方式编译的,会把该函数的code拷贝到每次调用该函数的地方;而static会让生成的二进制文件中没有清晰的符号表,让逆向的人很难弄清楚代码逻辑 查看汇编文件:选中xx.m文件-->Xcode...菜单 --> Product --> Perform Action --> Assemble "xx.m" 与#define的区别: 使用#define宏定义的代码,编译器不会对其进行参数有效性检查...如果有安全区域距离,则视图距离底部的高度进行相应调整 [_vcView mas_makeConstraints:^(MASConstraintMaker *make) {

    4.6K30

    2018年Web开发人员应该学习的12个框架

    它可以帮助你获得更好的工作,并将你的职业生涯提升到新的水平,如果遇到无聊的工作,例如启动和停止服务器,设置一些cron作业,以及回复维护传统的旧电子邮件应用,使用框架效果会更好。...在本文中,我分享了12个与Java开发,移动应用程序开发,Web开发和大数据相关的有用框架。 1)Angular 2+ 这是另一个JavaScript框架,它在我2018年要学习的东西列表中。...由于Spring Security已成为Java世界中Web安全性的代名词,因此在2018年使用最新版本的Spring Security更新自己是完全合理的。...如果你已经了解C语言之一并且正在寻找移动应用程序开发的职业,那么我强烈建议你在2018年学习Xamarin,以及完整的Xamarin开发人员课程:iOS和Android!是一个很好的课程开始。...这就是2018年要学习的内容。这些框架需求量很大,特别是Spring,Node.js和AngularJS。

    5.5K40
    领券