沉浸式狀態列的實現

2021-07-05 04:40:52 字數 691 閱讀 6532

public class setstatusbartranslucent );

method_setstatusbarcolor.invoke(activity.getwindow(),

0x00000000);

} catch (nosuchmethodexception e) catch (illegalargumentexception e) catch (illegalacces***ception e) catch (invocationtargetexception e)

if (v != null)

} }}

其中的view是狀態列高度的view,因為設定上面兩個屬性後,介面相當於全屏顯示了,為了介面能正常顯示,需要在介面上新增跟狀態列高度相同的view。

另外,全屏時彈出軟鍵盤,介面布局不再會自動調整,這是android的乙個原生bug,網上已有解決辦法,即androidbug5497workaround 。

又因為沉浸式狀態列不是真正的全屏,所以需要對androidbug5497workaround 中的細節做些調整:

framelayoutparams.height = usableheightsanskeyboard - heightdifference + dp2px(activity, 25);

狀態列的高度是固定的25dp。

實現沉浸式狀態列

android從4.4的版本開始,就可以自己來定義狀態列的顏色了,下面,我們來看一下實現方式 1 沉浸式狀態列的實現方式 設定狀態列的顏色 分為兩種情況 1 當當前sdk版本在5.0及其以上版本中,直接設定狀態列顏色就可以 有對應的方法 2 當當前sdk版本在4.4到5.0之間時,則需要向設定當前狀...

沉浸式狀態列的實現

在android 4.4之前,我們的應用沒發改變手機的狀態列的顏色,當我們開啟應用的時候,在螢幕的頂部有一天黑色的狀態列,和應用的風格非常不協調,為提供更好的介面互動,google在android 4.4以後提供了設定沉浸式狀態列的方法,對於沉浸式狀態列的這個面工資存在爭議,實際的效果其實是透明的狀...

沉浸式狀態列

1.沉浸式狀態列,向下相容到android4.4。因為5.0以後對狀態列做了新的改變,5.0及其以上可以直接在主題中設定顏色,或者呼叫window類中的setstatusbarcolor int color 來實現。2.4.4到5.0系統可以通過 windowtranslucentstatus這一特...