Android 4.1-4.2 默认窗体旋转180 度代码

Android 10 系统竖屏改为强制横屏 代码路径: frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp 在SurfaceFlinger.cpp文件中SurfaceFlinger()构造函数中初始化UI旋转角度 SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipInitialization) { ALOGI("SurfaceFlinger is starti 阅读详情

1.设置属性值

在system/build.prop文件中加入 ro.sf.hwrotation= 80

2.设置窗体默认显示方向

在frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp文件中找到方法

setDisplayHardware

在switch中加入

case 180:

displayOrientation = ISurfaceComposer::eOrientation180;

break;

3.设置窗体动画旋转方向

a > 在frameworks/base/core/java/android/view/Surface.java 加入方法

/**
* @hide
*/
public static int getDefaultRotation(){
    return android.os.SystemProperties.getInt("ro.sf.hwrotation", 0);//180
}
/**
* @hide
*/
public static int getDefaultRotationIndex(){
    int rotation = getDefaultRotation();
    switch(rotation){
        case 0:
            return ROTATION_0;
        case 90:
            return ROTATION_90;
        case 180:
            return ROTATION_180;
        case 270:
            return ROTATION_270;
    }
    return ROTATION_0;
}

b > 在
frameworks/base/services/java/com/android/server/vm/ScreenRotationAnimation.java 文件中找到(android4.1) 方法setRotation
或(android4.2)方法setRotationInTransaction

修改 deltaRotation(rotation,Surface.ROTATION_0);
为deltaRotation(rotation,Surface. getDefaultRotationIndex());

3 .修改最近程序视图方向

在frameworks/base/packages/systemui/src/com/android/systemui/RecentsPanelView.java 文件中修改如下

private int mThumbnailHeight;//add

在方法中添加

public void updateVoluesFromResources(){
    mThumbnailHeight = Math.round(res.getDimension(R.dimen.status_bar_recents_thumbnail_height));//add

}

在方法中添加

private void updateThumbnail(…) {

else {
    Matrix scaleMatrix = new Matrix();
    float scale = mThumbnailWidth / (float) thumbnail.getWidth();
    scaleMatrix.postScale(scale, scale);//setScale
    h.thumbnailViewImage.setScaleType(ScaleType.MATRIX);
    h.thumbnailViewImage.setImageMatrix(scaleMatrix);
    //add
    if(Surface.getDefaultRotation() > 0){
        Matrix rotateMatrix = new Matrix();
        rotateMatrix.setRotate(Surface.getDefaultRotation(),mThumbnailWidth/2,mThumbnailHeight/2);
    h.thumbnailViewImage.setImageMatrix(rotateMatrix);
    }
    //add end
}

4.修改截屏图片方向

在frameworks/base/pacikages/systemui/src/com/android/systemui/GlobalScreenshot.java 文件中找到takeScreenshot方法

修改 float degrees = getDegreesForRotation(mDisplay.getRotation());

为
“`
int rotation = mDisplay.getRotation();
if(Surface.getDefaultRotation() > 0){
rotation = (rotation + Surface.getDefaultRotationIndex())%4;
}
float degrees = getDegreesForRotation(rotation);

OK 这样就完成屏幕旋转180度

android修改开机动画朝向,Android启动默认是横屏或者竖屏 原文 地址http://blog.csdn.net/androiddeveloper_lee/article/details/9496005 ——总结的不错,比较全面。Android启动默认是横屏或者竖屏我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底... 阅读详情

相关推荐

surfaceview 支持横竖屏切换 视屏适配屏幕

surfaceview 支持横竖屏切换 视屏适配屏幕,能够支持MP4的播放

android surface 旋转屏幕,[Android/安卓]屏幕旋转时改变SurfaceView(视频)宽高

int mWidth = getMeasuredWidth();int mHeight = getMeasuredHeight();int oldAngle = 90;/*** 旋转更新(屏幕旋转时调用,0和180 -> 横屏,90和270 -> 竖屏)* 屏幕旋转需要考虑旋转后的高宽变化,例如:竖屏时,高比宽大,横屏时:高比宽小。* 所以旋转后要确定那边为宽,那边为高,然后将视频等比...

weixin_31444881的博客 2404

abaqus wcm插件下载_Abaqus随机短纤维增强复合材料建模插件

文末附Abaqus随机短纤维增强复合材料建模插件下载链接前言短纤维增强复合材料相对于长纤维增强复合材料来说更容易制备,且短纤维的填充性能略有改善,可制造复杂产品,广泛应用于车辆、航空航天、建筑等行业,对短纤维增强复合材料进行细观力学分析,可对其宏观力学性能进行预测、分析破坏机理等。接下来对随机短纤维增强复合材料建模插件进行介绍。NO.1 【算法简介】难点一:此插件核心在于判断生成的纤维是...

weixin_39974882的博客 2833

Android开发调用相机,屏幕旋转180°,获取回调消息的,问题解决

Android开发调用相机,屏幕旋转180°,获取回调消息的,问题解决

qq_61353850的博客 1673

贴片二极管SOD封装详解:SOD-123/323/523尺寸焊盘设计要点

表面贴装技术中,二极管封装尺寸直接决定PCB布局与焊接可靠性。SOD封装作为小外形二极管的主流形态,其SOD-123、SOD-323、SOD-523三种规格分别对应不同的功耗与占板面积权衡。理解封装尺寸、焊盘设计计算逻辑和钢网开窗原理,是避免立碑、虚焊等工艺缺陷的关键。在可穿戴设备、电源保护等空间受限场景中,合理选择封装不仅能优化散热路径,还能提升量产良率。本文从焊盘计算、工艺要点到选型策略,全面解析SOD封装的工程实践。

weixin_42520780的博客 307

总结:知识图谱KG+大模型LLM

知识图谱KG+大模型LLM

安静的软件工程师 4211

06-FRotator的基本使用 UE4 C++

为了让旋转效果看的更清楚,我在BP_Floater中修改了Floater的材质。)基础上通过FRotator增加旋转效果。

ChaoChao66666的博客 1284

samba源码编译安装(版本4.13.0)

这里写目录标题前言编译安装samba下载三个包安装依赖共需要安装samba、gnutls、nettle1、进入解压后的samba目录执行:2、进入解压后的gnutls目录执行3、进入解压后的nettle目录执行3.1 卸载已存在nettle3.2 编译3.3 make3.4 安装4、进入gnutls继续编译4.1 编译4.2 make4.3 安装5、再次进入解压后的samba目录5.1 执行./configure5.2 make5.3 samba安装启动samba 前言 一般来说,安装samba最快的方式应

灵葱的博客 1万+

【Unity】初始化物体的旋转角度

需求:钟表的指针默认位置在0点,在初始化时会根据当前的时间,旋转到一定角度。然后才是在当前旋转角度下每帧继续旋转。 问题:网上搜到的关于物体的旋转,基本都是给定一个速度的持续运动,而现在需要的是一个即时的效果。 看一看文档:https://docs.unity3d.com/ScriptReference/Transform.Rotate.html 其实还是使用Transform.Rotate,但...

weixin_34080571的博客 1898

FUMA实战:5分钟搞定GWAS数据中的Independent SNPs和Lead SNPs筛选

本文详细介绍了如何使用FUMA平台快速筛选GWAS数据中的Independent SNPs和Lead SNPs。通过解析核心概念、分步实战演示和结果解读,帮助研究人员在5分钟内从海量显著关联位点中提炼出独立且具代表性的遗传信号,为后续功能注释和基因定位奠定高效基础。

weixin_29201859的博客 425

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5405

Android启动默认是横屏或者竖屏

原文 地址 http://blog.csdn.net/androiddeveloper_lee/article/details/9496005 ——总结的不错,比较全面。 Android启动默认是横屏或者竖屏 我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一

lqxandroid2012的专栏 4055

图数据库Neo4j面试内容整理-Neo4j的性能

在执行复杂关系查询时,Neo4j 通过图结构的高效存储和查询机制,能够比传统的关系型数据库提供更快的性能,尤其是在涉及深层关系的查询时。通过合理的配置、优化查询和使用合适的硬件,Neo4j 可以处理大规模的数据集和高并发的查询请求,满足企业级应用的需求。Neo4j 在处理图数据时,通过优化图的存储、查询和遍历等方面,提供了高效的性能,特别适合用于需要处理复杂关系和多层次连接的应用场景,如社交网络、推荐系统、知识图谱等。:Neo4j 会根据查询的结构和数据的分布自动选择最优的查询计划。

不务正业的猿 586

Android4.0强制横屏竖屏

Android的启动默认是横屏或者竖屏我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。找到一个相关度比较大的属性ro.sf.hwrotation=270,和旋转有关的,联想

ListenerRi的博客 1208

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

包括YOLOv5、YOLOv7、YOLOv8等模型改进 738

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

强制横屏java_Android4.0强制横屏竖屏

Android的启动默认是横屏或者竖屏我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。找到一个相关度比较大的属性ro.sf.hwrotation=270,和旋转有关的,联想...

weixin_42275078的博客 293

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android启动默认是横屏或者竖屏和setprop,getprop,watchprops命令的使用

Android启动默认是横屏或者竖屏 我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。 找到一个相关度比较大的属性ro.sf.hwrotation=270,和旋转有关的

c_z_w的博客 3017

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android分别通过代码和xml实现补间动画效果

一.Android动画类型 Android的animation由四种类型组成: XML中 alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转...

weixin_42602900的博客 187

Android分别通过代码和xml实现动画效果

一.Android动画类型 Android的animation由四种类型组成: XML中 alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimati...

weixin_30492601的博客 180
上一篇: android4.0默认界面旋转180
下一篇: xiaopanOS启动及字典
listenerri
博客等级 码龄12年 39粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值