刘海屏适配小记

适配刘海屏就是调整控件的位置使其位于安全区域
各种机型适配:一个个型号适配,麻烦,不靠谱
Android P自带的API:还有很多旧版本钉子户呢,不靠谱
那么,有没有一种方法,可以不用判断是否是刘海屏呢?
思路:
创建一个工具类用于获得与储存StatusBar高度
在Activity创建的时候得到系统的当前StatusBar高度
在Fragment初始化控件的时候,让需要适配的控件paddingTop相应的高度
或者自己加一个自定义的StatusBarView,设置高度为系统的StatusBar高

 public static int statusbarHeight = 0;
 public static void getStatusBarHeight(Context context) {
        Resources resources = context.getResources();
        int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
        statusbarHeight = resources.getDimensionPixelSize(resourceId);
    }

在Activity创建的时候调用getStatusBarHeight(),再在Fragment中对需要设置的控件进行高度设置

    statusBarView.layoutParams.height = StatusBarUtil.statusbarHeight

如此一来,所指定的控件就到了刘海之外的安全区域

上一篇:[绍棠] uni-app打包APP如何让<web-view>腾出statusBar高度


下一篇:vue项目实现复制内容到剪切板