Android 狀態列的管理

2021-09-23 22:31:34 字數 2372 閱讀 7612

android4.4以上沉浸式狀態列和導航欄實現以及bar的其他管理。

推薦使用的mmersionbar

自己使用的工具類

public class statusbarutils 

} catch (exception e)

}public static void setwindowstatusbarcolor(dialog dialog, string color)

} catch (exception e)

}public static void rippleview(view view, context context) ;

//typedarray typedarray = activity.obtainstyledattributes(attrsarray);

typedarray typedarray = context.obtainstyledattributes(attrsarray);

int selector = typedarray.getresourceid(0, attrsarray[0]);

view.setbackgroundresource(selector);

// don't forget the resource recycling

typedarray.recycle();

} else ;

typedarray typedarray = context.obtainstyledattributes(attrsarray);

//typedarray typedarray = getactivity().obtainstyledattributes(attrsarray);

int selector = typedarray.getresourceid(0, attrsarray[0]);

view.setbackgroundresource(selector);

typedarray.recycle();}}

/*** 白底黑字,狀態列設定

*/public static void statusset(window window, context context ,boolean dark)

if (build.version.sdk_int >= build.version_codes.kitkat)

miuisetstatusbarlightmode(window, dark);

flymesetstatusbarlightmode(window, dark);

setoppostatustextcolor(dark, (activity) context);

}/**

* 頂部狀態列白底黑字,小公尺手機適配

*/public static boolean miuisetstatusbarlightmode(window window, boolean dark) else

result = true;

} catch (exception e)

}return result;

}/**

* 頂部狀態列白底黑字,魅族手機適配

*/public static boolean flymesetstatusbarlightmode(window window, boolean dark) else

meizuflags.setint(lp, value);

window.setattributes(lp);

result = true;

} catch (exception e)

}return result;

}/**

* 設定oppo手機狀態列字型為黑色(coloros3.0,6.0以下部分手機)

** @param lightstatusbar

* @param activity

*/private static final int system_ui_flag_op_status_bar_tint = 0x00000010;

private static void setoppostatustextcolor(boolean lightstatusbar, activity activity) else

} else if (build.version.sdk_int >= build.version_codes.lollipop) else

}window.getdecorview().setsystemuivisibility(vis);

}protected void setstatusbarfulltransparent(activity context) else if (build.version.sdk_int >= 19)

}}

Android透明狀態列 沉浸式狀態列

注意 android版本 4.4此方法有效 第一步 在activity的布局檔案中,根布局中加入以下第5 7行 第二步 新建類kitkatutils.class package cn.powerthink.djt.utils import android.annotation.suppresslin...

android 狀態列浸透 狀態列半透明

純 設定,不用修改manifest 首先這是主介面.xml 兩種情況 第一種 去掉xml中 style 效果 主介面置頂,可以實現半透明效果 activity oncreat 中 狀態列沉浸,4.4 生效 if build.version.sdk int build.version codes.ki...

Android 狀態列收集

public class statusbarutil else if build.version.sdk int build.version codes.kitkat 修改狀態列顏色,支援4.4以上版本 param activity param colorid public static void ...