[RK3588 Android12]设置屏幕方向、分辨率和密度

1.设置屏幕方向为横屏

修改device/rockchip/common/BoardConfig.mk
SF_PRIMARY_DISPLAY_ORIENTATIO参数值

diff --git a/device/rockchip/common/BoardConfig.mk b/device/rockchip/common/BoardConfig.mk
index b930d2b1bb..eafa6b95f3 100755
--- a/device/rockchip/common/BoardConfig.mk
+++ b/device/rockchip/common/BoardConfig.mk
@@ -162,7 +162,7 @@ DEVICE_HAVE_LIBRKVPU ?= true
 # For Recovery Rotation
 TARGET_RECOVERY_DEFAULT_ROTATION ?= ROTATION_NONE
 # For Surface Flinger Rotation
-SF_PRIMARY_DISPLAY_ORIENTATION ?= 0
+SF_PRIMARY_DISPLAY_ORIENTATION :=270

2.设置屏幕分辨率

在控制台输入
wm size 1920x1080

修改device/rockchip/rk3588/rk3588_s/rk3588_s.mk
增加PRODUCT_PROPERTY_OVERRIDES += ro.config.size_override参数值

diff --git a/device/rockchip/rk3588/rk3588_s/rk3588_s.mk b/device/rockchip/rk3588/rk3588_s/rk3588_s.mk
index 27aba9b716..c2cdea4414 100644
--- a/device/rockchip/rk3588/rk3588_s/rk3588_s.mk
+++ b/device/rockchip/rk3588/rk3588_s/rk3588_s.mk
@@ -38,7 +38,8 @@ PRODUCT_AAPT_PREF_CONFIG := mdpi
 #
 ## add Rockchip properties
 #
-PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=320
+PRODUCT_PROPERTY_OVERRIDES += ro.config.size_override=1920,1080
+PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=240
 PRODUCT_PROPERTY_OVERRIDES += ro.wifi.sleep.power.down=true
 PRODUCT_PROPERTY_OVERRIDES += persist.wifi.sleep.delay.ms=0

3.设置屏幕密度

在控制台输入
wm density 240

修改device/rockchip/rk3588/rk3588_s/rk3588_s.mk
修改PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density参数值

4.问题

屏幕密度值由320改为240后,底下导航栏会变成显示一个任务栏,现象如下图:
在这里插入图片描述
首先屏蔽底下任务栏显示,修改packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java中的ENABLE_TASKBAR的初始值为false。

diff --git a/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java b/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java
index 2d31aa4687..15eadff831 100644
--- a/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/config/FeatureFlags.java
@@ -191,7 +191,7 @@ public final class FeatureFlags {
    
    
             + "predictions to be updated while they are visible to the user.");
 
     public static final BooleanFlag ENABLE_TASKBAR = getDebugFlag(
-            "ENABLE_TASKBAR", true, "Allows a system Taskbar to be shown on larger devices.");
+            "ENABLE_TASKBAR", false, "Allows a system Taskbar to be shown on larger devices."); 

此时导航栏也不再显示,原因是frameworks\base\packages\SystemUI\src\com\android\systemui\navigationbar\NavigationBarController.java中的函数initializeTaskbarIfNecessary判断设备为平板以后,会调用removeNavigationBar(mContext.getDisplayId());移除导航栏显示。

    /** @return {@code true} if taskbar is enabled, false otherwise */
    private boolean initializeTaskbarIfNecessary() {
    
    
        if (mIsTablet) {
    
    
            // Remove navigation bar when taskbar is showing
            removeNavigationBar(mContext.getDisplayId());
            mTaskbarDelegate.init(mContext.getDisplayId());
        } else {
    
    
            mTaskbarDelegate.destroy();
        }
        return mIsTablet;
    }

frameworks\base\packages\SystemUI\shared\src\com\android\systemui\shared\recents\utilities\Utilities.java中的public static boolean isTablet(Context context)函数,当屏幕的(最小边长度*160/dpi值)< 600,就会判断为设备是平板设备,将其返回值改为false就可以显示导航栏了。

diff --git a/frameworks/base/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java b/frameworks/base/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java
index 8d98a7540a..665098941f 100644
--- a/frameworks/base/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java
+++ b/frameworks/base/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java
@@ -127,7 +127,7 @@ public class Utilities {
    
    
 
         float smallestWidth = dpiFromPx(Math.min(bounds.width(), bounds.height()),
                 context.getResources().getConfiguration().densityDpi);
-        return smallestWidth >= TABLET_MIN_DPS;
+        return false;
     }

猜你喜欢

转载自blog.csdn.net/zsq122021821/article/details/128392170