当前位置:首页 > 实用技巧 >

安卓横竖屏切换方法(安卓手机横竖屏设置)

来源:原点资讯(www.yd166.com)时间:2023-10-25 15:22:50作者:YD166手机阅读>>

文档说明

本文档以SC820-CN-00(msm8953平台,Android 7.1)为例,描述如何修改横屏竖显。


应用背景

项目所用的屏是一块宽高比为1920x1080的横屏,客户要求作为竖屏显示。

修改方法

1)开机logo软件不用修改,作一张相应的图片生成splash.img即可;

2)开机动画bootanimation部分的旋转修改。

2.1 首先做一个宽高比为1080x1920的竖向显示开机动画资源包并预置到系统。

2.2 修改文件 frameworks/base/cmds/bootanimation/BootAnimation.cpp

在其中做宽高交换的动作。

相关patch代码如下:

--- a/cmds/bootanimation/BootAnimation.cpp

b/cmds/bootanimation/BootAnimation.cpp

@@ -300,6 300,20 @@ status_t BootAnimation::readyToRun() {

status_t status = SurfaceComposerClient::getDisplayInfo(dtoken, &dinfo);

if (status)

return -1;

//A: wming to rotate panel @{

char value[PROPERTY_VALUE_MAX];

property_get("persist.panel.orientation", value, "0");

int orient = atoi(value) / 90;

if ((orient == 1) || (orient == 3)) {

int temp = dinfo.h;

dinfo.h = dinfo.w;

dinfo.w = temp;

}

Rect destRect(dinfo.w, dinfo.h);

mSession->setDisplayProjection(dtoken, orient, destRect, destRect);

//@}


// create the native surface

sp<Surfacecontrol> control = session()->createSurface(String8("BootAnimation"),

2.3 添加旋转相关系统属性 persist.panel.orientation。

在 device/qcom/msm8953_64/msm8953_64.mk 文件中最后添加如下代码:

PRODUCT_DEFAULT_PROPERTY_OVERRIDES = \

persist.panel.orientation=90

即旋转90度。

3)修改java层显示代码。

3.1 修改文件 frameworks/base/core/res/res/values/config.xml:

将 <bool name="config_supportAutoRotation">true</bool>

改为 <bool name="config_supportAutoRotation">false</bool>

将 <integer name="config_lidOpenRotation">-1</integer>

改为 <integer name="config_lidOpenRotation">90</integer>

即关闭自动旋转,并配置旋转90度。

3.2 修改文件 frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java:

patch代码如下:

--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java

b/services/core/java/com/android/server/policy/PhoneWindowManager.java

@@ -7051,7 7051,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {

if (preferredRotation >= 0) {

return preferredRotation;

}

- return Surface.ROTATION_0;

//M: wming to rotate panel @{

//return Surface.ROTATION_0;

return Surface.ROTATION_90;

//@}

}

}

}

3.3 修改文件 frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java:

patch代码如下:

--- a/services/core/java/com/android/server/wm/WindowManagerService.java

b/services/core/java/com/android/server/wm/WindowManagerService.java

@@ -553,7 553,10 @@ public class WindowManagerService extends IWindowManager.Stub

/** All DisplayContents in the world, kept here */

SparseArray<DisplayContent> mDisplayContents = new SparseArray<>(2);

- int mRotation = 0;

//M: wming to rotate panel @{

//int mRotation = 0;

int mRotation = 1;

//@}

int mLastOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;

boolean mAltOrientation = false;


,

栏目热文

安卓手机横版怎么设置(安卓手机怎么把桌面设置成横杠的)

安卓手机横版怎么设置(安卓手机怎么把桌面设置成横杠的)

方法一:在AndroidManifest.xml中配置假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的Andro...

2023-10-25 15:20:07查看全文 >>

安卓手机屏幕切换(安卓手机屏幕切换怎么设置)

安卓手机屏幕切换(安卓手机屏幕切换怎么设置)

方法一:在AndroidManifest.xml中配置假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的Andro...

2023-10-25 15:12:06查看全文 >>

安卓横竖屏幕切换设置(安卓手机横竖屏怎么切换)

安卓横竖屏幕切换设置(安卓手机横竖屏怎么切换)

方法一:在AndroidManifest.xml中配置假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的Andro...

2023-10-25 15:23:26查看全文 >>

安卓手机页面怎么变横屏(安卓手机怎么变快)

安卓手机页面怎么变横屏(安卓手机怎么变快)

方法一:在AndroidManifest.xml中配置假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的Andro...

2023-10-25 15:11:34查看全文 >>

安卓手机横屏时间怎样设置(安卓手机横屏怎么调回来)

安卓手机横屏时间怎样设置(安卓手机横屏怎么调回来)

天气 App 的种类不少,风格也很多,有人喜欢简洁干净的,比如 Holi、我的天气、雨时等;有人喜欢酷炫有趣的,像 CA...

2023-10-25 15:15:33查看全文 >>

安卓手机角标开启(安卓手机设置角标app)

安卓手机角标开启(安卓手机设置角标app)

尽管iPhone的设计十分优雅,但我个人还是无法忍受这种漂亮的手机。每次打开手机,都会看到这样的通知,而设置界面更是复杂...

2023-10-25 15:30:43查看全文 >>

暗黑破坏神2刺客加点新人指导(暗黑破坏神2 刺客属性加点)

暗黑破坏神2刺客加点新人指导(暗黑破坏神2 刺客属性加点)

刺客可以说是暗黑破坏神2游戏中选择比较少的职业,毕竟相对于死灵法师和女巫来说,她前期开荒和刷怪能力以及效率都不算太高。不...

2023-10-25 15:33:19查看全文 >>

暗黑破坏神2刺客最强流派加点(暗黑破坏神2德鲁伊最强流派加点)

暗黑破坏神2刺客最强流派加点(暗黑破坏神2德鲁伊最强流派加点)

有很多玩家都曾尝试选择不同职业或不同玩法通关暗黑破坏神2地狱难度,整体来说法系玩法较物理玩法通关难度低一些并且刷装备能力...

2023-10-25 15:00:12查看全文 >>

暗黑破坏神2刺客好练级吗(暗黑破坏神2刺客技能分配)

暗黑破坏神2刺客好练级吗(暗黑破坏神2刺客技能分配)

冰火法师 暴风雪20 支配冰10 火墙20 支配火20 冰刺20 大冰球10 其余过路。MfSor(纯冰)一般练法:冰风...

2023-10-25 15:38:51查看全文 >>

暗黑破坏神2刺客新手加点和技能(暗黑破坏神2刺客技能详细说明)

暗黑破坏神2刺客新手加点和技能(暗黑破坏神2刺客技能详细说明)

哈喽大家好,我是大家喜爱的电玩张麻子,最近宝日的传说,修真类超变战网开始第十七赛季的开荒了,很多新来的老铁不知道开荒怎么...

2023-10-25 15:47:19查看全文 >>

文档排行