Android强制竖屏

有这样的一个需求,客户需要的屏幕是竖屏的格式。而手头上的屏是硬件的横屏。

修改的话,只能从软件上入手。

文件位置: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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章