AndroidAutoSize icon indicating copy to clipboard operation
AndroidAutoSize copied to clipboard

虚拟导航栏适配问题

Open FrankLove opened this issue 2 years ago • 1 comments

你好,请问我的应用是横屏的app,设计稿是:1024dp * 738dp,使用这个适配方案在平板上如果底部有导航栏的话就会出现顶部一部分界面显示不全的问题,并且只有这一个页面有问题,其他都正常的。如果把导航栏隐藏掉则正常, 如图 image 参考这个issue 修改高度,好像没有任何作用,请问这是什么原因呢? 手机底部有虚拟导航栏和全屏时候不适配 #125

Environment

Log:

MainActivityV4 Info: isBaseOnWidth = true, designWidthInDp = 1024.000000, designWidthInSubunits = 1024.000000, targetDensity = 1.875000, targetScaledDensity = 1.875000, targetDensityDpi = 300, targetXdpi = 1.875000, targetScreenWidthDp = 1024, targetScreenHeightDp = 533

Screenshot

Related Code:

在MainApplication 里面添加如下代码

          AutoSizeConfig.getInstance()
                //屏幕适配监听器
                .setOnAdaptListener(new onAdaptListener() {
                    @Override
                    public void onAdaptBefore(Object target, Activity activity) {
                        //ScreenUtils.getScreenSize(activity) 的参数一定要不要传 Application!!!

                        if (activity.getLocalClassName().contains("MainActivityV4"))
                        {
                            KLog.i(" MainActivityV4 "+(ScreenUtils.getScreenSize(activity)[1])+" "+BarUtils.getNavBarHeight()+" "+ com.blankj.utilcode.util.ScreenUtils.getScreenHeight());
                            AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
                            AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1]-BarUtils.getNavBarHeight());
                        }

                    }

                    @Override
                    public void onAdaptAfter(Object target, Activity activity) {
                    }
                });

Others:

FrankLove avatar Jul 31 '23 11:07 FrankLove

可能修改屏幕高度时,获取的导航栏高度,不是适配后的高度

JessYanCoding avatar Aug 01 '23 06:08 JessYanCoding