QMUI_Android icon indicating copy to clipboard operation
QMUI_Android copied to clipboard

QMUIStatusBarHelper对状态栏高度大于25dp时的特殊处理

Open Levent-J opened this issue 3 years ago • 0 comments

运行环境

  • [x] 设备型号:如:HUAWEI MatePad Pro
  • [x] 设备系统版本:如 HarmonyOS 2.0.0
  • [x] Gradle 版本:如 4.2.0
  • [x] QMUI Android 版本:1.4.3

具体问题描述

使用 QMUIStatusBarHelper 类的 getStatusbarHeight 方法获取到的状态栏高度为0,而用 QMUIDisplayHelpergetStatusBarHeight 方法获取到状态栏高度是正确的,查看了前者的实现,发现有这样一行针对大于25dp状态栏高度的处理:


 if (QMUIDeviceHelper.isTablet(context)                                                                        
         && sStatusbarHeight > QMUIDisplayHelper.dp2px(context, STATUS_BAR_DEFAULT_HEIGHT_DP)) {               
     //状态栏高度大于25dp的平板,状态栏通常在下方                                                                                 
     sStatusbarHeight = 0;                                                                                     
 } else {                                                                                                      
     if (sStatusbarHeight <= 0) {                                                                              
         if (sVirtualDensity == -1) {                                                                          
             sStatusbarHeight = QMUIDisplayHelper.dp2px(context, STATUS_BAR_DEFAULT_HEIGHT_DP);                
         } else {                                                                                              
             sStatusbarHeight = (int) (STATUS_BAR_DEFAULT_HEIGHT_DP * sVirtualDensity + 0.5f);                 
         }                                                                                                     
     }                                                                                                         
 }                                                                                                             

所以不是很懂,这里为什么要对25dp的状态栏做特殊处理呢

Levent-J avatar Jun 22 '21 03:06 Levent-J