经常看到别人开发的android程序,顶部的状态栏和主界面颜色统一,如果使用delphi该如何实现?详细的理论参见:沉浸式理论一,沉浸式理论二。以下对于android 6以下版本无效。
如果只是需要简单的改变顶部状态栏的颜色,那么两句就可以。顶部状态栏红色
uses
Androidapi.Helpers,
Androidapi.JNI.App,
Androidapi.JNI.GraphicsContentViewText;
{在窗体创建事件中增加如下语句}
procedure TForm_Main.FormCreate(Sender: TObject);
var
FWindow: JWindow;
begin
FWindow := TAndroidHelper.Activity.getWindow;
FWindow.SetStatusBarColor(TAlphaColor($FF000000) or TAlphaColorRec.Red); //状态栏变成红色
end;
如下图:
如果设置成和主界面一样的颜色:
uses
Androidapi.Helpers,
Androidapi.JNI.App,
Androidapi.JNI.GraphicsContentViewText;
{在窗体创建事件中增加如下语句}
procedure TForm_Main.FormCreate(Sender: TObject);
var
FWindow: JWindow;
begin
FWindow := TAndroidHelper.Activity.getWindow;
FWindow.SetStatusBarColor(TAlphaColor($FF000000) or TAlphaColor($17A2B8)); //注意这里颜色改成了和主界面上方一样的颜色
end;
效果如下图: