Delphi FMXUI 沉侵式狀態列

2022-04-19 11:03:19 字數 1125 閱讀 8976

好訊息!fmxui正式支援android和ios的沉侵式狀態列了。

先來看看效果圖

安卓:

ios:

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實際上預設就是沉侵式狀態列。它的狀態列顏色就是當前窗體的 fill 的顏色。

在 fmxui 中,為了統一編碼,一樣需要按照android的方式的第二步進行操作

如果通過上面兩步還不能實現,或者出來的狀態列顏色異常,檢查把主窗體的fill引數的kind, 改為solid 就可以 了。

沉侵式封裝

直接複製可用 public class statusbarutil else if build.version.sdk int build.version codes.kitkat 當頂部是時,是顯示到狀態列上 param activity public static void setimage a...

安卓6 0後沉侵式改造

安卓筆記 建議判斷版本6.0以上做沉侵式 5.0做的話可能會有介面讓你很為難 public void setstatusbar catch exception e 利用反射獲取狀態列高度 用於設定你標題欄的paddingtop值 public int getstatusbarheight retur...

棋盤式狀壓DP模型總結

狀壓dp分兩大類,一類是集合式,另一類就是棋盤式 即基於連通性 其中,集合式狀壓dp難度相較後者略大,形式複雜多變。而棋盤式狀壓dp的題目樣式都相差不多,解法也都殊途同歸,因此將這一類題進行總結,不難歸結出一套解題模板。我們先看以下三個例題。題目鏈結 狀態表示 f i,j,s 表示已經在前i行放了j...