最近在项目中遇到这样的一个需求,需要将A界面全屏显示,类似于大部分app的启动页那样,但还需要顶部一个标题,因为全屏后,我们顶部的标题会靠上占住原来状态栏的位置高度,下图是AS中的界面,没有任何异样,你们可在真机运行中查看
这是ui,这样看起来是没有任何影响的,需要我们在代码中设置全屏,设置全屏后左上方箭头将会上移,贴近了状态栏中的文字,这样就很影响用户美观体验。解决方法为计算出当前手机状态栏的高度,并动态设置标题的margins
1、首先先设置全屏
/**
* 通过设置全屏,设置状态栏透明
*
* @param activity
*/
public static void fullScreen(Activity activity, int colorResId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色
Window window = activity.getWindow();
View decorView = window.getDecorView();