Android游戏开发屏幕旋转问题全面解决

自之初老,发生在2017年、
规范之说来,2018年本身真正已直了。
过去之及时同一年,我过的越细,有时候要坐针毡,有时候快乐转瞬即没有。
不如说害怕变总,倒不如说害怕孤独终老,不知晓该盖安的方法了这辈子,早都习以为常了一半安葬的活方法,如果会同一底下跨到60岁的光景,我要有这般一个火候。

召开游戏Android上之戏支付为出同年多了,虽然尚无呀奥秘的见解,但就是撞的题材同缓解方案做生记录

  • 愈觉得钱未是极致着重之,精力才是。一个人数的生命力和岁月总是有限的,愿意呢一个人消费更是多的生气,越代表你对客的强调。所以不好的事情,记得,不要受它们瞧瞧夺走而的生命力。

  • 时刻流逝的诸一个原子单位,我还能够懂的排有事项。时间花在口上。

俺们的玩,横屏的棋牌游戏,一直是锁定横屏的一个倾向运行,有同等龙,项目经理找到自己,想吃戏比如一些IPhone游戏一样,在盘屏幕的下按照重力进行盘,在锁定方向的时段以会固定一个大方向,也就算是力所能及随用户选择以横屏方向进行锁定和旋转

每当2017马上同年,我记忆1月份,我见状了久为逢面的秀秀,我的少女时代。她抱怨着生存,而我为是。
进入2月份,身边的同事陆陆续续的距离,还记HL和MWJ最早开始请假,我在2月5哀号开始了新春佳节假日。这半独月,我是可悲的,一方面是为工作达到的不如意,一方面自己为饱受了家长家人甚至好当一生大事上的终极通牒。家人心急如焚,我何尝不是?正月之日子,我会偷偷去家门,自己去押无异庙会久违的影视,为的凡逃匿起来那么催债似的狂轰乱炸,而当时不啻为不见面尽爱吃察觉。我同凶猛、思思一起过了最后一差的老三总人口欢聚一堂,后来是它们男朋友载我们返回的。2月下旬,重新以起来了办事,我无适应,反复说在自家之心窝子在降水。第一单元宵节,我于宇萍家吃火锅,汤圆,拍了平等摆设极为好看的希冀,发了爱人围。2月之,送活动了有同事,我清楚,未来之行程要自身自己倒。
3月1号,萍萍结婚的小日子,工作最好忙碌没与。之后,我同同事们报名了第一糟糕的毅行活动,虽然下着毛毛雨,不过人多在同,像探险,很开心,话说我还碰巧地减小到了婴儿熊哦,而且玻璃栈道好像没有那么怕嘛,虽然回到以后,我随后非该发生那场交流。3月下旬,习惯了打顺风车上班,认识了紧邻部门的同事,人不利,还可交流工作,碰巧还是室友的情侣。3月27如泣如诉,腾腾结婚,我送它及了车,完成了婚礼,成为了真正的人妻。
4月,清明节的当儿,阳光明媚,我深受YP同逛街,看钱塘江限的樱花,买了人生之第一不过口红,开心。那个时刻痴迷于电视剧人民的名义,打车了,却休思量上班。4月中旬,老闺蜜们来店游戏,拍照片玩游戏,感觉又回去了咱们的高中时,只是萍萍已经怀胎,不再是疯疯癫癫的典范了。没错,我们都以转移。4月,我连手了打没有干过的干活,从此开始了实在的程序员生涯。
5月份的当儿,仍然忙于工作。不过由这初始,进入了自己工作面临最好黯淡的平等段子上。正直端午节,热的百般,我开了人生被尽骁勇之举止,中途回了回家,和阿毛的表弟一起。我们下的可怜工,也初步步入正轨。
6月,痴迷于快颂,自己简直是实际版的关雎尔。楼顶烧烤,我们一块拍摄,那一刻已经是夏季了咔嚓。喜欢看棋牌说,喜欢执中欧巴。6月上旬,我来了杭州底那么一幢楼里,悄然无声的本身与蚂蚁开始起了一致栽说不清道不明的涉嫌。6月中旬,我当转部门,可惜被留下了。我晓得,我的胸臆一直以挣扎,就比如于走钢丝线。别人不晓,只有自己要好了解,未来自己的对抉择是呀。
7月,参加了部门的团建,喜欢粉红粉红的世界,就仿佛身边直接有人。我当大麦网给半年后的亲善必矣一致摆放门票。挣扎之高峰期在7月底,好像世界都于同自家竞争。那片天,几近崩溃。
8月2哀号,崩溃期结束,发了邮件。那阵子,轻松快活简单真实。开始挨家挨户场次的社交吃饭告别。500块的西餐,吃到了,可惜手机为吊了。23声泪俱下,是告别的小日子。24如泣如诉,是其他一样集市开始。我理解,刚刚经历之等同庙会战乱,惊魂甫定,自己还未曾准备好,我彷徨不定,害怕与恐怖充斥了心中。无奈,生活毕竟有道促进着您向前头挪,特别是于我这种三观太正的总人口。而立总体,朋友圈里毫无痕迹,在那里我只是会说开心之作业。
免理解人与食指之间的逢是呀因素致。起码在此间的整个,都当还是针对性之。
9月,幸运的插足了年会,太感动,也也自己好骄傲。工作受到十分不解,很辛苦,但是没有道,我理解如果交给,这就算是自己跳槽的代价。见到了大学时的学霸同学以及美女同学,送了侄子去读书。那就算是夏季之尾巴了咔嚓。
10月,我于老伴用不歇,假装去畅游,在宁波与宇萍一起。弟弟来了辅助自己搬家。参加了养。我之忠实生日,弟弟吃连接活动了。那天晚上的满贯,历历在目。
11月,和某姑娘开始约周末逛街吃饭。月底的时段,重要之职责让到了本人。那个夜晚,一夜无眠。月底,和室友的情侣等,吃了同样顿可口的家火锅,发了朋友围,全是玉女。
12月,第一浅约会是暨萍萍,还有这不曾夺婚宴的高等学校校友。反复问,我发生什么变化没有?这个月,我顺手的夺到了颇剧院,听音乐会,如痴如醉,可自还是,孑然一身,身边都是子女在戏。晚上回去的时节,寒风凌厉,我无意的抱紧了和谐。最后一个协调之周日,我偷闲和XX聚会,去上海羁押她,我思念将最好好的让其,让它们快,可是我懂,她还还是老样子,让自己既是爱以方案。但是本人又最思念使这个仪式感,我怀念叫这会闭环,完美的谢幕,代表立即同一年的头和尾,对,我跟汝都直接当。可惜,结果自己好要失望了。后来,昏天暗地的突击,直到圣诞,直到元旦。月初的上,大家疯狂之曝自己的歌单、账单,还有风靡朋友围的私家18夏。
及时无异于年,不思细数太多,精力有限,那些人,那些事,我啊未思记住太多。

当然,我信心满满的许诺了,感觉对于一个为Android起家的自来说这并不算什么,五分钟搞定

  • 懒惰的好,向日妥协。承认自己身体不同,一次性要起药店购好各种药品,感冒之、发烧的、咳嗽的、咽喉的。没人照料,就了不起对待自己吧

  • 爱的影视,偷偷的一个总人口去押,怕见到过往的口。

  • 疯癫迷恋于购物,依赖让购物带吃自己的快感。

  • 手机好用就尽,多丑都不在乎,相机也不再是自身的只求。

  • 支配一个人在,却又休亮哪接受自己的是决定,一辈子无比长,漫漫人生,好想念同一底下跨到60夏

  • 学会装扮,觉得温馨难堪了。睡得少更加晚矣。

  • 看口红和鲜花是单好东西。

  • 第一不善看少独人吃饭比较自己一个人用好吃多了。

  • 下雪了,从小区门口及楼里之离开好远好远,这段总长最难走的,是小区入口以及单元门口,那无异切开瓷砖上积满了冰雪,稍不小心就会见整整人口滑倒。我为保全平衡,不得不蹲下来,像螃蟹同,横在为前头走,这应该就,我要是一律步一步往上爬…

  • 专门爱丢眼泪,尤其是看看白发苍苍的爹娘

结果一个时过去了,并无找到周的化解方案,在Android的manifest.xml做安排是不可行的


经过自身一番百度和看Android文档,我才察觉,Android对旋转屏,特别是只有横屏或者竖屏虽重力旋转的支持是至Android4.3.1才来完美支持之

没错的

unspecified - 默认值,由系统选择显示方向
landscape   - 橫向
portrait    - 纵向
reverseLandscape    - 反横向(API >= 9)
reversePortrait     - 反纵向(API >= 9)
user        - 用户当前的首选方向
behind      - 与Activity堆栈下的方向相同
sensor      - 根据物理传感器方向3/4个方向(取决于设备)
fullSensor  - 根据物理传感器方向4个方向
nosensor    - 不按照物理传感器方向,除此之外与"unspecified"无区别
sensorLandscape     - 按照物理传感器,只在横向(2个方向)进行翻转(API >= 9)
sensorPortrait      - 按照物理传感器,只在纵向(2个方向)进行翻转(API >= 9)
userLandscape       - 按照用户选择,锁定一个横向,或者按照物理传感器进行横向的翻转(API >= 18)
userPortrait        - 按照用户选择,锁定一个纵向,或者按照物理传感器进行纵向的翻转(API >= 18)
fullUser    - 如果用户锁定了屏幕,它与"user"作用一致,如果是解锁了旋转,它与"fullSensor"作用一致(API >= 18)
locked      - 锁定了屏幕当前方向(API >= 18)
  • 一如既往善良
  • 好做梦
  • 根悲凉
  • 习以为常孤独

而是鉴于打是设适配各个系统版本的,只以AndroidManifest.xml里布置显然只能满足部分系统要求,于是自己形容了脚的代码

public class TestOrientationActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        resetScreenOrientation();
        Uri rotationUri = Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION);
        ContentResolver resolver = getApplication().getContentResolver();
        // 此处注册监听旋转设置变化
        resolver.registerContentObserver(rotationUri, true, mContentConfigObserver);
    }

    /**
     * 用于监听旋转变化
     */
    private ContentObserver mContentConfigObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            resetScreenOrientation();
        }
    };

    @Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();
        resetScreenOrientation();
    }

    private void resetScreenOrientation() {
        // TODO Auto-generated method stub
        int orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        int sdkInt = android.os.Build.VERSION.SDK_INT;  
        if (sdkInt >= Build.VERSION_CODES.JELLY_BEAN_MR2 /*18*/) {
            //大于JELLY_BEAN_MR2(4.3.1)版本的直接支持按照用户选择进行屏幕旋转
            //Field requires API level 18 (current min is 8): 
            orientation = ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE;
        } else if (sdkInt >= Build.VERSION_CODES.GINGERBREAD) {
            int flag = Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION, 0);
            if (0 == flag) {
                // 屏幕旋转已经关闭,那么固定屏幕在某一个方向
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            } else {
                // 屏幕旋转打开,屏幕按照sensor的参数进行旋转
                // 此参数只在GINGERBREAD(2.3.3)以上的系统支持
                //Field requires API level 18 (current min is 8): 
                orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
            }
        } else {
            // 小于GINGERBREAD(2.3.3)版本的系统不支持屏幕旋转
            orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        }
        int curOrientation = getRequestedOrientation();
        if (orientation != curOrientation) {
            setRequestedOrientation(orientation);
        }
    }
}

除开当2.3.3-4.3.1底组成部分手机监听设置改变时候会产出延迟外围,别的都是宏观解决

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图