Pet*_*ton 17 android orientation android-4.0-ice-cream-sandwich
我有一个Android ICS Launcher 4.0.x的奇怪案例.
前提:
具有root权限的ICS设备
下载Android ICS Launcher 4.0.3/4源代码(修改并运行)
程序:
进入市场(Play商店),下载"Go Task Manager"
在Launcher上打开Widgets选项卡,找到"Mem Optimize",拖到主屏幕(工作区)
下载并安装"Fruit Ninja"
在主屏幕上的"Mem Optimize"小部件旁边创建"Fruit Ninja"快捷方式.
执行"Fruit Ninja"并将手机放在LANDSCAPE中(手持它在这个位置,不要更改)
在"水果忍者"的菜单屏幕上,切片"退出",选择"是"
现在回到Launcher主屏幕,点击"Mem Optimize"小部件
目前的结果:
期望:
我的尝试(修改Launcher ICS源代码):
添加到"Manifest.xml":android:screenOrientation="portrait"=>仍然无法解决问题.
处理配置更改,android:configChanges="orientation|screenSize"=>仍然无法解决问题.
使用:setRequestedScreenOrientation(PORTRAIT)=>仍然无法解决问题.
我试过在Android 2.x上工作过的; 然而,从4.0.3+开始,它不能按预期工作.有没有人对此有任何想法?
现有的 ICS 启动器有几个地方会将方向设置为未指定。只需在 Launcher.java 中搜索setRequestedOrientation,但具体来说它是在“eng”版本或平板电脑上。它在 onCreate 中执行此操作,但也在从 appscustomize 中拖放后执行此操作。
来自 Launcher.java 的 onCreate:
// On large interfaces, we want the screen to auto-rotate based on the current orientation
if (LauncherApplication.isScreenLarge() || Build.TYPE.contentEquals("eng")) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |