如何在OpenHarmony应用侧获取屏幕DPI 原创

离北况归
发布于 2023-10-4 20:40
浏览
1收藏

笔者之前分享过如何在设备侧修改屏幕 DPI,本文则介绍在OpenHarmony应用侧获取屏幕DPI


@toc


1.应用侧获取屏幕DPI 实现思路

如何在OpenHarmony应用侧获取屏幕DPI-鸿蒙开发者社区

  • 通过导入@ohos.display包来使用getDefaultDisplaySync()方法以获取屏幕 DPI值的方法
import display from '@ohos.display';

@Entry
@Component
struct Index {
  @State displayClass: display.Display | null = null

  aboutToAppear(){
    try {
      this.displayClass = display.getDefaultDisplaySync();
      console.info('Test densityDPI:' + JSON.stringify(this.displayClass.densityDPI));
    } catch (exception) {
      console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
    }
  }

  build() {
    Row() {
      Column() {
        Text('屏幕DPI是'+JSON.stringify(this.displayClass.densityDPI))
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

2.更改开发板的屏幕DPI(以DAYU200为例)

2.1 方法一:更改源码编译烧录固件

  • 在源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml文件中修改dpi,编译后烧录固件。
    <!--Window display dpi, valid range is 80~640, use 0 if no configuration is requeired-->
    <dpi>240</dpi>

2.2 方法二:发送display_manager_config.xml文件至设备etc/window/resources

  • OpenHarmony固件编译烧录进入设备后,display_manager_config.xml文件会被预编译打包至设备端etc/window/resources目录下,什么,为什么只有window/resources字段,因为ohos_prebuilt_etc就是把文件放进设备的etc文件夹
foundation/window/window_manager/resources/config/BULID.gn文件如下,
下面代码的意思是源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml会真正安装在设备中的etc/window/resources文件位置,

ohos_prebuilt_etc("display_manager_config") {
  if (device_name == "rk3568") {
    source = "//foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml"
    install_enable = true
···
···
  relative_install_dir = "window/resources"
}
  • 步骤如下
# 进入sdk\版本号\toolchain输入cmd打开命令行,重新加载系统为可读写
hdc_std shell mount -o remount,rw /

# 替换/etc/window/resources中的display_manager_config.xml文件
hdc_std file send C:\Users\jjh\display_manager_config.xml /etc/window/resources

# 然后重启开发板让设置生效
hdc reboot

3.参考资料

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
test.zip 350.18K 5次下载
已于2023-10-4 20:46:06修改
3
收藏 1
回复
举报
2条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

这样更改后屏幕实际的DPI也会跟着变化吗

1
回复
2023-10-7 10:51:57
离北况归
离北况归 回复了 红叶亦知秋
这样更改后屏幕实际的DPI也会跟着变化吗

可以在设备侧修改

1
回复
2023-10-7 15:13:39
回复
    相关推荐