zoukankan      html  css  js  c++  java
  • Android :landscape||portrait 切换

    可在AndroidManifest.xml里面配置屏幕发现。 在<Activity>中加入这一行android:screenOrientation="landscape/portrait "

     

    android中每次屏幕的切换动会重启Activity(可以在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了)

     

    当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中来检查当前的方向,然后可以让你的SetContentView来载入不同的Layout xml.

    if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {

    Log.i("info", "landscape");

    }

    else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

    Log.i("info", "portrait");

    }

     

    另外,android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!要避免在转屏时重启activity,可以通过在androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig)这个钩子方法。

     

    为什么android:configChanges=”orientation”不可以?我只使用“orientation”,时还是会调用onCreate方法。

  • 相关阅读:
    Jmeter应用大全
    js防止backspace回退到上一界面(兼容各种浏览器)
    easyui部分组件获得焦点
    防止用户直接在地址栏输入URL浏览文件
    Oracle入门基础(六)一一子查询
    Oracle入门基础(五)一一多表查询
    Oracle入门基础(四)一一多行函数
    Oracle入门基础(三)一一单行函数
    Oracle入门基础(一)一一基本查询
    测试用例的设计思路
  • 原文地址:https://www.cnblogs.com/mybkn/p/2460866.html
Copyright © 2011-2022 走看看