1. 程式人生 > >最簡單的實現沉浸式(透明)狀態列方法_封裝成工具類

最簡單的實現沉浸式(透明)狀態列方法_封裝成工具類

//判斷當前版本是否大於4.4,因為沉浸式這個功能是在這之後的
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){
//判斷的當前介面是activity還是fragment
if (mView!=null){
ll_title= (LinearLayout) mView.findViewById(R.id.ll_title);
}else {
ll_title= (LinearLayout) mActivity.findViewById(R.id.ll_title);
}
if (ll_title!=null){
int statusHeight=getStatusHeight();//獲取狀態列高度
if (statusHeight>0){
//透明狀態列
mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明導航欄
// mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
ViewGroup.LayoutParams params= ll_title.getLayoutParams();
params.height+=statusHeight;//動態的設定標題欄的高度。
//動態的設定標題欄的panddingTop----不設定標題欄的內容還是會往狀態列擠
ll_title.setPadding(0, statusHeight, 0, 0);
ll_title.setLayoutParams(params);
ll_title.setBackgroundResource(R.color.colorAccent);//這裡設定狀態列的顏色,與標題欄一致就好
}
}
}