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;

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