[Delphi] FMXUI - 沉侵式状态栏
好消息!FMXUI正式支持Android和IOS的沉侵式状态栏了。
先来看看效果图
安卓:

IOS:

一、Android 沉侵式状态栏
FMXUI的沉侵式状态栏支持SDK版本大于21的Android系统(也就是安卓5.0或更新的系统版本)。
第一步: 将 FMXUI 中的 res\android\styles_translucent.xml 加入 Deployment 中,并将 Remote Path 设为 “res\values-v19\”。

第二步: 在主 Form 的 Create 事件中,增加如下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
TFrameView.SetDefaultStatusColor($ff800080);
TFrameView.SetDefaultBackColor($fff1f2f3);
end;
其中,SetDefaultStatusColor 是设置默认的状态条颜色。SetDefaultBackColor 是设置默认的背景色。需要注意的是,如果不设置默认的背景色,那么在设置状态条颜色后,默认的背景色为浅灰色(0xfff1f2f3)。
注意:在使用沉侵式状态栏后,代码中使用 LocalToAbsolute 来计算绝对位置对控件进行定位的地方如果出现异常,可以将Y坐标减去TView.GetStatusHeight(状态条高度)。
二、iOS 沉侵式状态栏
iOS实际上默认就是沉侵式状态栏。它的状态栏颜色就是当前窗体的 Fill 的颜色。
在 FMXUI 中,为了统一编码,一样需要 按照Android的方式的第二步进行操作 。
三、 设置主窗口Fill
如果通过上面两步还不能实现,或者出来的状态栏颜色异常,检查 把主窗体的Fill参数的kind, 改为Solid 就可以 了。
[Delphi] FMXUI - 沉侵式状态栏的更多相关文章
- [Flutter] Android沉侵式标题栏顶部叠加层去除
可能你的app是这样: 框起来部分和标题栏颜色并不一致. 调用下面的代码可以变成一样. import 'package:flutter/services.dart'; static SystemUiO ...
- Android中的沉浸式状态栏效果
无意间了解到沉浸式状态栏,感觉贼拉的高大上,于是就是试着去了解一下,就有了这篇文章.下面就来了解一下啥叫沉浸式状态栏.传统的手机状态栏是呈现出黑色条状的,有的和手机主界面有很明显的区别.这一样就在一定 ...
- 分别用ToolBar和自定义导航栏实现沉浸式状态栏
一.ToolBar 1.在build.gradle中添加依赖,例如: compile 'com.android.support:appcompat-v7:23.4.0' 2.去掉应用的ActionBa ...
- 81.Android之沉浸式状态栏攻略
转载:http://blog.csdn.net/lmj623565791/article/details/48649563/ 一.概述 近期注意到QQ新版使用了沉浸式状态栏,ok,先声明一下:本篇博客 ...
- android沉浸式状态栏设置(4.4以上版本)
其实设置比较简单,我用了小米和htc的几款机型都可以用. 主要代码就是这个(注意要在Activity的setContentView之前调用才行) /** * 开启沉浸式状态栏 * */ public ...
- Android 沉浸式状态栏 实现方式二 ( 更简单 )
以前写过一个沉浸式状态栏 的实现方式 Android 沉浸式状态栏 实现方式一 现在有个更为简单的实现方式 . 相关链接 http://www.apkbus.com/forum.php?mod=vie ...
- Android 4.4沉浸式状态栏的实现
要实现Android 4.4上面的沉浸式状态栏要用到开源项目SystemBarTint(https://github.com/hexiaochun/SystemBarTint) public clas ...
- Android 中沉浸式状态栏实现
Android 中沉浸式状态栏实现方式如下 计算状态栏高度及调用沉浸式状态栏的相关API方法 package com.example.status; import android.annotation ...
- Android 沉浸式状态栏
1,传统的手机状态栏是呈现出黑色或者白色条状的,有的和手机主界面有很明显的区别.这样就在一定程度上牺牲了视觉宽度,界面面积变小.看一下QQ的应用 2,实现起来也挺简单的,来一起看一下吧 MainAct ...
随机推荐
- 如何修改SQL Server 2008数据库服务器名称
在做数据库发布订阅的时候我们经常要碰到要使用服务器名称来进行. 那么我们经常会碰到的问题是,现在开始大量的使用云服,我们只需要一台服务器搭建好环境,做一个备份镜像,还原到其他的服务器上就可以了,但是问 ...
- Eclipse开发Android应用 找不到平板
1.驱动安装正确2.平板的连接方式正确,不要用大容量存储/sd卡模式这个设置在4.3上很难找呀.设置->存储->点右上角的菜单 3.打开USB调试.4.上述问题都检查后,在eclipse里 ...
- Java中HashMap 初始化时容量(参数)如何设置合适?
问题引入 注:本文代码源自java 9. 阿里的插件对于初始化HashMap时,调用无参构造方法,提示如下: 那么问题来了,如果已知需要向 map 中 put n次,那么需要设定初始容量为多少? 单纯 ...
- <<网络是怎样连接的>>笔记第6章 request到达Web server, return response to browser
短短漫长旅程迎来终点. 概览.整体结构. 服务器的协议栈如何接收数据. 服务器解释request message并respond browser 接收response message并显示内容. 6. ...
- mfc "缺少函数标题(是否是老式的形式表)"的总结
首先出现这种问题要定位到程序中出错的地方查看,如果没有问题就仔细看类的声明和定义.可能是对应类的后面没有加: 第二个原因是可能忘记了添加头文件 "stdafx",如果是这样可以加上 ...
- UVA-11613 Acme Corporation (最大费用最大流+拆点)
题目大意:有一种商品X,其每每单位存放一个月的代价I固定.并且已知其每月的最大生产量.生产每单位的的代价.最大销售量和销售单价,还已知每个月生产的X能最多能存放的时间(以月为单位).问只考虑前m个月, ...
- oracle增加sequence
(1)删除序列; (2)重新创建: 这个方法比较简单粗暴. drop sequence sequence_name; create sequence sequence_name minvalu ...
- haskell 常用 函数
在学习haskell 记录以下常用的函数 随时更新! span span :: (a -> Bool) -> [a] -> ([a], [a]) span, applied to ...
- 转:Android-apt
转自http://blog.csdn.net/zjbpku/article/details/22976291 What is this? The Android-apt plugin assists ...
- 历史上的重大软件BUG启示录第9篇---微软的硬件尝试
(图片来源于网络) 2001年苹果公司发布第一代iPod,它的推出在当时引起了轰动,它拥有大容量存储空间和全新的操作方式,并且还非常漂亮(在当时看来),因此在市场上大受欢迎,苹果公司也因此赚的盆满钵满 ...