仙境传说三转单机版横屏单机背景音乐

Android启动默认是横屏或者竖屏
我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。
找到一个相关度比较大的属性ro.sf.hwrotation=270,和旋转有关的,联想到0,90,180,270.试试吧,将其改为ro.sf.hwrotation=0,测试了一下,OK,满足客户要求了,就早点下班了。
今天来了搜了一下相关的内容,还是发现了不少知识
1. 可以在init.rc里指定系统是横屏还是竖屏
setprop ro.sf.hwrotation 0 指定默认输出不旋转(我们默认输出时竖屏)
#setprop ro.sf.hwrotation 270 指定旋转270度输出
2. 这个指定角度,Android默认只有0度和270度有效,180度无效,如果想使用180度,需要修改源码
修改文件frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp
在方法void GraphicPlane::setDisplayHardware(DisplayHardware *hw)里加
displayOrientation = ISurfaceComposer::eOrientation180;
这样子就支持了180度了
3. 还有更详细的 - Android 4.1 默认窗体旋转180度 &
1).设置属性值
在system/build.prop文件中加入 ro.sf.hwrotation=180
2).设置窗体默认显示方向
在frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp文件中找到方法
setDisplayHardware
在switch中加入
displayOrientation = ISurfaceComposer::eOrientation180;
3).设置窗体动画旋转方向
& & &a & 在frameworks/base/core/java/android/view/Surface.java 加入方法
public static int getDefaultRotation(){
return android.os.SystemProperties.getInt(&ro.sf.hwrotation&, 0);//180
public static int getDefaultRotationIndex(){
int rotation = getDefaultRotation();
switch(rotation){
return ROTATION_0;
return ROTATION_90;
return ROTATION_180;
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());
4). 修改最近程序视图方向
& &在frameworks/base/packages/systemui/src/com/android/systemui/RecentsPanelView.java 文件中修改如下
& &private int mThumbnailH//add
& &在方法中添加
& &&public void updateVoluesFromResources(){
………………………………………………..
mThumbnailHeight = Math.round(res.getDimension(R.dimen.status_bar_recents_thumbnail_height));//add
&在方法中添加
private void updateThumbnail(…) {
Matrix scaleMatrix = new Matrix();
float scale = mThumbnailWidth / (float) thumbnail.getWidth();
scaleMatrix.postScale(scale, scale);//setScale
h.thumbnailViewImage.setScaleType(ScaleType.MATRIX);
h.thumbnailViewImage.setImageMatrix(scaleMatrix);
if(Surface.getDefaultRotation() & 0){
Matrix rotateMatrix = new Matrix();
rotateMatrix.setRotate(Surface.getDefaultRotation(),mThumbnailWidth/2,mThumbnailHeight/2);
h.thumbnailViewImage.setImageMatrix(rotateMatrix);
} 5).修改截屏图片方向
& 在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度
本文已收录于以下专栏:
相关文章推荐
http://blog.csdn.net/abc/article/details/7543559
如何改变android默认的横竖屏,修改源码一个地方就可以了。
Android启动默认是横屏或者竖屏
我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水...
Android启动默认是横屏或者竖屏
Android启动默认是横屏或者竖屏
我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一...
近期手头处理了一个横竖屏切换的问题单,特地把这期间了解的旋屏事件上报流程给记录了下来。跟踪了一下源码(Android 6.0)
WindowManagerService.java (android...
这篇文章写的传感器数据从驱动传递到应用程序的整个流程,还有数据校正的问题。应用程序怎么样设置可以让自己随着设备的倾斜度变化而旋转方向呢?在AndroidManifest.xml文件中的android:...
我们知道Android中支持横屏和竖屏,用户可以选择锁定(rotation lock)也可以选择让传感器来自动转屏。而转屏时为了使用户体验更流畅,会对屏幕截屏,然后使用截屏的图来做转屏动画,直到转屏动...
Android Launcher3 强制横屏
在android应用开发过程中,尤其是在界面布局当中,经常会碰到要指定布局为横屏或是竖屏显示,下面是一些设置android横竖屏的方法:
getWindow().setFlags(W...
默认的横屏角度是顺时针90度,修改为顺时针270度,即是逆时针90度。
1.查看相关逻辑,可以看到有个布尔值com.android.internal.R.bool.config_re...
转载请声明:http://bbs.niuzhi.cc/thread-20-1-1.html
android系统默认这个属性只能0度还有270有效,如果因特殊需要,其他角度支持的话,可以仿照以...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 仙境传说三转单机版 的文章

 

随机推荐