Android4.0强制横屏竖屏
Android的启动默认是横屏或者竖屏
我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。
找到一个相关度比较大的属性ro.sf.hwrotation=270,和旋转有关的,联想到0,90,180,270.试试吧,将其改为ro.sf.hwrotation=0,测试了一下,OK,满足客户要求了,就早点下班了。
/ device/samsung/smdk4x12/system.prop(ro.sf.hwrotation )
今天来了搜了一下相关的内容,还是发现了不少知识
1,可以在init.rc里指定系统是横屏还是竖屏
对应setProp ro.sf.hwrotation 0指定默认输出不旋转(我们默认输出时竖屏)
#对应setProp ro.sf.hwrotation 270指定旋转270度输出
2。这个指定角度,Android默认只有0度和270度有效,180度无效,如果想使用180度,需要修改源码
修改文件的框架/基地/服务/的surfaceflinger / SurfaceFlinger.cpp
在方法
无效 GraphicPlane :: setDisplayHardware(DisplayHardware * HW)里加
案例 180:
displayOrientation = ISurfaceComposer :: eOrientation180;
打破;
这样子就支持了180度了
3,还有更详细的 - 安卓4.1默认窗体旋转180度
1)设置属性值
在系统/ build.prop文件中加入ro.sf.hwrotation = 180
2)设置窗体默认显示方向
在框架/本地/服务/的surfaceflinger / SurfaceFlinger.cpp文件中找到方法
setDisplayHardware
在交换机中加入
案例 180:
displayOrientation = ISurfaceComposer :: eOrientation180;
打破;
3)。设置窗体动画旋转方向
一>在框架/底座/核心/ JAVA /机器人/视图/ Surface.java加入方法
/ **
* @隐藏
* /
公共 静态 诠释 getDefaultRotation(){
返回 android.os.SystemProperties.getInt(“ro.sf.hwrotation” ,0); / / 180
}
/ **
* @隐藏
* /
公共 静态 诠释 getDefaultRotationIndex(){
整型 旋转= getDefaultRotation();
开关(旋转){
情况下 0:
返回 ROTATION_0;
案例 90:
返回 ROTATION_90;
案例 180:
返回 ROTATION_180;
案例 270:
返回 ROTATION_270;
}
返回 ROTATION_0;
}
B>在框架/基地/服务/ JAVA / COM /机器人/服务器/ VM / ScreenRotationAnimation.java文件中找到(android4.1)方法setRotation
或(android4.2)方法setRotationInTransaction修改deltaRotation(旋转,Surface.ROTATION_0);
为deltaRotation(旋转,表面getDefaultRotationIndex());
4)修改最近程序视图方向
在框架/底座/包/ systemui / SRC / COM /机器人/ systemui / RecentsPanelView.java文件中修改如下
私人诠释mThumbnailHeight ;/ /加
在方法中添加
公共 无效 updateVoluesFromResources(){
........................................................
mThumbnailHeight = Math.round(res.getDimension(R.dimen.status_bar_recents_thumbnail_height)); / /添加
}
在方法中添加
私人 无效 updateThumbnail(...){
否则 {
矩阵scaleMatrix = 新的 矩阵();
浮 规模= mThumbnailWidth /(浮动)thumbnail.getWidth();
scaleMatrix.postScale(刻度,刻度); / / setScale
h.thumbnailViewImage.setScaleType(ScaleType.MATRIX);
h.thumbnailViewImage.setImageMatrix(scaleMatrix);
/ /添加
如果(Surface.getDefaultRotation()> 0 ){
矩阵rotateMatrix = 新的 矩阵();
rotateMatrix.setRotate(Surface.getDefaultRotation(),mThumbnailWidth / 2 ,mThumbnailHeight / 2 );
h.thumbnailViewImage.setImageMatrix(rotateMatrix);
}
/ /添加结束
}
5)。修改截屏图片方向
在框架/底座/ pacikages / systemui / SRC / COM /机器人/ systemui / GlobalScreenshot.java文件中找到takeScreenshot方法
修改浮度= getDegreesForRotation(mDisplay.getRotation());
为
整型 旋转= mDisplay.getRotation();
如果(Surface.getDefaultRotation()> 0 ){
=旋转(旋转+ Surface.getDefaultRotationIndex())%4 ;
}
浮 度= getDegreesForRotation(旋转);
确定这样就完成屏幕旋转180度
Android4.0强制横屏竖屏的更多相关文章
- Android之横屏竖屏显示问题
1.採用不同的布局文件 在res下创建目录layout-land 在该目录下写入的layout(xml文件)横屏的时候系统自己主动选择显示的layout 同理: 在res下创建目录layout-por ...
- RK3288 6.0 双屏异显,横屏+竖屏【转】
本文转载自:http://blog.csdn.net/clx44551/article/details/78215730?locationNum=8&fps=1 RK3288 6.0 双屏异显 ...
- HTML5中判断横屏竖屏
在移动端中我们经常碰到横屏竖屏的问题,那么我们应该如何去判断或者针对横屏.竖屏来写不同的代码呢. 这里有两种方法: 一:CSS判断横屏竖屏 写在同一个CSS中 1 2 3 4 5 6 @media s ...
- javascript判断手机旋转横屏竖屏
javascript判断手机旋转横屏竖屏 // 横屏竖屏函数 function orientationChange(){ switch(window.orientation) { case 0: // ...
- js 横屏 竖屏 相关代码 与知识点
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- Android横屏竖屏切换的问题
Android横屏竖屏切换的问题 http://blog.sina.com.cn/s/blog_77c632410101790w.html
- 【转】Android 模拟器横屏竖屏切换设置
http://blog.csdn.net/zanfeng/article/details/18355305# Android 模拟器横屏竖屏切换设置时间:2012-07-04 来源:设计与开发 ...
- vue手机端横屏竖屏切换
1.建一个空白的vue文件,添加上如下代码 data() { this.$router.go(-1) return {} } 2.在需要横屏竖屏切换的页面中加入如下代码: beforeMount( ...
- Python--将文件夹中图片按照横屏竖屏进行分类
搬运链接:https://www.jianshu.com/p/c8be54282e77 """ 可以遍历输入的路径的指定后缀的文件,主要是用来筛选图片,将图片分成 横屏, ...
随机推荐
- MCS-51单片机内部结构
8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解. 8051单片机包含中央处理器.程序存储器(ROM).数据存储器(RAM).定时/计数器.并行接口.串行接口和中断系统 ...
- Java 多线程之龟兔赛跑(文件夹——读取文件——时间)
版权声明:本文为博主原创文章,未经博主允许不得转载. 描述: 乌龟和兔子(各自是一个Java线程)在我们的电脑上赛跑,我们为它们指定一个跑道(本地文件系统上的一个目录,该目录包含子目录).跑的规则是读 ...
- C++调用DLL有两种方法——静态调用和动态调用
C++调用DLL有两种方法——静态调用和动态调用 标签: dllc++winapinullc 2011-09-09 09:49 11609人阅读 评论(0) 收藏 举报 分类: cpp(30) [ ...
- js 删除效果代码
效果 css文件delcss.css 代码如下: ;;} #div1{;; filter:alpha(opacity:0); display:none;} #div1 h3{ height:20px; ...
- HTTP数据包头解析---之温故而知新!
[转]HTTP请求模型和头信息参考 参考: http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx模型: http://blog.c ...
- Android ViewPager实现软件的第一次加载的滑动效果
public class MainActivity extends Activity { private ViewPager viewPager; private List<View> V ...
- js原型继承深入
js采用原型继承来实现类的派生,但是原型链再深入点,我们又知道多少呢,现在不妨往下看: 先来一个原型继承: var M1 = function() { this.param = "m1's ...
- spring注解理解
步骤一:编写web.xml文件,主要代码如下:<servlet> Java代码 <servlet-name>spmvc</servlet-name> <ser ...
- JS浏览器对象-History对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 一款豪华绚丽的移动端图册(zepto.js+photoswipe.js)
应公司要求,开发一款移动端杂志(等同于移动端幻灯片相册,iOS上能轻松滑动缩放,android上也能滑动缩放).网上找了很久没有符合需求的插件,无意间找到了photoswipe,进行改造之后就成了符合 ...