IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> MTK Android 11 平板横屏显示修改方法,竖屏横显 -> 正文阅读

[移动开发]MTK Android 11 平板横屏显示修改方法,竖屏横显

1拷贝横屏logo和关机充电动画图片

将BOOT_LOGO改为横屏:BOOT_LOGO := wuxganl

2开机logo显示横屏

diff --git a/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/[xxxx]/mt_logo.c b/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/[xxxx]/mt_logo.c
index 62d5a55..bae9e62 100644
--- a/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/[xxxx]/mt_logo.c
+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/[xxxx]/mt_logo.c
@@ -85,6 +85,8 @@ void init_fb_screen()
        } else {
                phical_screen.rotation = 0;
        }
+       phical_screen.rotation = 270;//有可能是90,看需求
 
        sync_anim_version();
        if (show_animationm_ver == 1) {

3关机充电显示横屏

diff --git a/vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp b/vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp
index 6d4fde0..795d331 100644
--- a/vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp
+++ b/vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp
@@ -753,6 +753,8 @@ int anim_fb_init(void)
     } else {
         phical_screen.rotation = 0;
     }
+       phical_screen.rotation = 270;//有可能是90
     if (MTK_LOG_ENABLE == 1) {
         SLOGD("[libshowlogo]phical_screen: width= %d,height= %d,bits_per_pixel =%d,needAllign = %d,allignWidth=%d rotation =%d ,need180Adjust = %d\n",
                 phical_screen.width, phical_screen.height,
diff --git a/vendor/mediatek/proprietary/external/libshowlogo/utils.cpp b/vendor/mediatek/proprietary/external/libshowlogo/utils.cpp
index 0db0516..729c5ac 100644
--- a/vendor/mediatek/proprietary/external/libshowlogo/utils.cpp
+++ b/vendor/mediatek/proprietary/external/libshowlogo/utils.cpp
@@ -59,5 +59,6 @@ int getRotation() {
                 break;
         }
     }
+       rotation = Rotation::ORIENTATION_270;//有可能是90
     return rotation;
 }

4开机动画显示横屏

diff --git a/frameworks/base/cmds/bootanimation/BootAnimation.cpp b/frameworks/base/cmds/bootanimation/BootAnimation.cpp
old mode 100644
new mode 100755
index bb2de17..60fe4bf
--- a/frameworks/base/cmds/bootanimation/BootAnimation.cpp
+++ b/frameworks/base/cmds/bootanimation/BootAnimation.cpp
@@ -384,12 +384,14 @@ status_t BootAnimation::readyToRun() {
     mMaxWidth = android::base::GetIntProperty("ro.surface_flinger.max_graphics_width", 0);
     mMaxHeight = android::base::GetIntProperty("ro.surface_flinger.max_graphics_height", 0);
     ui::Size resolution = displayConfig.resolution;
-    resolution = limitSurfaceSize(resolution.width, resolution.height);
+    resolution = limitSurfaceSize(resolution.height, resolution.width);
     // create the native surface
     sp<SurfaceControl> control = session()->createSurface(String8("BootAnimation"),
             resolution.getWidth(), resolution.getHeight(), PIXEL_FORMAT_RGB_565);
 
     SurfaceComposerClient::Transaction t;
+       Rect destRect(resolution.getHeight(), resolution.getWidth());
+       t.setDisplayProjection(mDisplayToken, ui::ROTATION_90, destRect, destRect);//ui::ROTATION_90 不是固定的,和MTK_LCM_PHYSICAL_ROTATION有关系
 
     // this guest property specifies multi-display IDs to show the boot animation
     // multiple ids can be set with comma (,) as separator, for example:

5开机动画显示错乱,先横屏后竖屏

--- a/frameworks/base/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/frameworks/base/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -120,7 +120,7 @@ public class DisplayRotation {
      * @see #updateRotationUnchecked
      */
     @Surface.Rotation
-    private int mRotation;
+    private int mRotation=1;//可能是其他值,需要调整
 
     @VisibleForTesting
     int mLandscapeRotation;  // default landscape
@@ -1184,7 +1184,6 @@ public class DisplayRotation {
             // We will do exactly what the application asked us to do.
             preferredRotation = -1;
         }
-
         switch (orientation) {
             case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
                 // Return portrait unless overridden.
@@ -1239,10 +1238,13 @@ public class DisplayRotation {
             default:
                 // For USER, UNSPECIFIED, NOSENSOR, SENSOR and FULL_SENSOR,
                 // just return the preferred orientation we already calculated.
-                if (preferredRotation >= 0) {
+                if (orientation == 2){/
+                                       return Surface.ROTATION_90;//可能是其他值,需要调整
 
+                               }
+                               if (preferredRotation >= 0) {
                     return preferredRotation;
                 }
-                return Surface.ROTATION_0;
+                return Surface.ROTATION_90;//可能是其他值,需要调整
 
         }
     }
 

6recovery 显示横屏

--- a/bootable/recovery/minui/graphics.cpp
+++ b/bootable/recovery/minui/graphics.cpp
@@ -393,7 +393,7 @@ int gr_init() {
   }
 
   std::string rotation_str =
-      android::base::GetProperty("ro.minui.default_rotation", "ROTATION_NONE");
+      android::base::GetProperty("ro.minui.default_rotation", "ROTATION_LEFT");//ROTATION_NONE
   if (rotation_str == "ROTATION_RIGHT") {
     gr_rotate(GRRotation::RIGHT);
   } else if (rotation_str == "ROTATION_DOWN") {
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:58:28  更:2021-09-10 10:59:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:29:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码