有这样的一个需求,客户需要的屏幕是竖屏的格式。而手头上的屏是硬件的横屏。
修改的话,只能从软件上入手。
文件位置:frameworks/base/core/java/android/content/pm/PackageParser.java
修改前:
//SCREEN_ORIENTATION_UNSPECIFIED 默认值,系统根据方向感应自动选择屏幕方向
//SCREEN_ORIENTATION_PORTRAIT 正向竖屏,显示的高比宽长(锁死为竖屏方向,不再让方向感应起作用)
//SCREEN_ORIENTATION_REVERSE_PORTRAIT 反转
if (a.info.resizeable) {
// Fixed screen orientation isn’t supported with resizeable activities.
a.info.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
} else {
a.info.screenOrientation = sa.getInt(
R.styleable.AndroidManifestActivity_screenOrientation,
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
修改后://做法是先竖屏,再反转。就能得到正常的竖屏显示
// if (a.info.resizeable) {
// //Fixed screen orientation isn’t supported with resizeable activities.
// a.info.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
// } else {
// a.info.screenOrientation = sa.getInt(
// R.styleable.AndroidManifestActivity_screenOrientation,
// ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
// }
a.info.screenOrientation = sa.getInt(
R.styleable.AndroidManifestActivity_screenOrientation,
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
a.info.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
a.info.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!