有时因为所选显示屏的不同(如横屏或竖屏),或者结构安装显示屏的摆放方向弄错了,软件上需要调整系统显示的方向以使显示正常,这其中包括android的显示,uboot和kernel的logo显示,充电界面和固件升级界面的显示(recovery)。
1)android显示方向调整
在device\rockchip\rk3399\rk3399_all\system.prop中修改ro.sf.hwrotation的值(0,90,180,270)从而实现系统显示的旋转(0度,90度,180度,270度)
2)uboot和kernel的logo显示调整
我的做法很简单,就是直接修改uboot和kernel所用logo图片,将图片旋转相应的角度以后重新做成logo即可。
3)android关机充电界面和固件升级界面的显示调整
比如旋转180度,修改如下:
--- a/bootable/recovery/minui/graphics.cpp
+++ b/bootable/recovery/minui/graphics.cpp
@@ -47,7 +47,7 @@ static uint32_t gr_current = ~0;
static constexpr uint32_t alpha_mask = 0xff000000;
static GRSurface* gr_draw = NULL;
-static GRRotation rotation = ROTATION_NONE;
+static GRRotation rotation = ROTATION_DOWN;//ROTATION_NONE;
static bool outside(int x, int y) {
return x < 0 || x >= (rotation % 2 ? gr_draw->height : gr_draw->width) || y < 0 ||
@@ -464,5 +464,5 @@ void gr_fb_blank(bool blank)
}
void gr_rotate(GRRotation rot) {
- rotation = rot;
+ rotation = ROTATION_DOWN;//rot;
}