#创作者激励#[触觉智能RK3568]修改屏幕 DPI(像素密度) 原创 精华
【本文正在参加2023年第一期优质创作者激励计划】
目录
- 触觉智能RK3568购买链接如下:https://item.taobao.com/item.htm?spm=4645b.1.14.1.5c4a4a7dv1soeZ&id=658789039056&ns=1&abbucket=5#detail
一、OpenHarmony源码中DPI配置
rk3568开发板默认的DPI配置为240,范围为80-640。
以下为触觉智能开发板在不同DPI时屏幕的显示情况
-
DPI为240时
-
DPI为100时
-
DPI为600时
二、更改开发板的DPI
方法一:更改源码编译烧录固件
- 在源码foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml文件中修改dpi,编译后烧录固件。
方法二:发送display_manager_config.xml文件至设备etc/window/resources
- OpenHarmony固件编译烧录进入设备后,display_manager_config.xml文件会被预编译打包至设备端etc/window/resources目录下,什么,为什么只有window/resources字段,因为ohos_prebuilt_etc就是把文件放进设备的etc文件夹
- 步骤如下
知识点附送
为ohos_prebuilt_XXX类目标添加支持指定output属性的能力
-
以该pr学习 https://gitee.com/openharmony/build/pulls/822/files 为ohos_prebuilt_XXX类目标添加支持指定output属性的能力。
-
ohos_prebuilt_XXX类目标是指
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
。这类目标只支持指定source属性,拷贝到out目录时目标文件名与源文件名是一样的,无法另行指定名字。该pr解决了此限制,添加了output这个可选属性用于指定目标文件名,不指定的情况下默认与源文件名是一样的(与原逻辑保持一致)。 -
OpenHarmony编译构建子系统是基于Gn和ninja的,而gn本身是有原生模板(source_set,shared_library, static_library, action, executable,group)。gn也支持用户自定义编译模板,OpenHarmony编译子系统提供了一系列自定义的模板(ohos_shared_library、ohos_prebuilt_executable、ohos_prebuilt_shared_library等)
-
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
预编译模板在prebuilt.gni中定义,它们通过调用ohos_copy模板实现。ohos_copy
模板实现了拷贝文件到设备具体位置的功能,它需要定义invoker.sources和invoker.outputs,即source和output属性。例如
-
ohos_prebuilt_executable
、ohos_prebuilt_shared_library
、ohos_prebuilt_static_library
、ohos_prebuilt_etc
(下面用ohos_prebuilt_xxx代指)添加支持指定output属性的能力的相关代码如下
使能/禁用selinux
- 禁用selinux
- 使能selinux
通过调节DPI可以看出APP布局的调整还是比较合理的
手机一般只能调4×6,5×6这样的,要是也能这么灵活就有意思了。
屏幕的自适应显示还是有限的
默认的240还是感觉图标太小了
我这个频幕是10英寸的,截图可能看着小
在系统层面安卓也可以