正常的判断屏幕方向的代码:

    /** 获取屏幕是否是竖屏     * @return     */    @SuppressLint("SwitchIntDef")    public boolean isScreenPortrait(){        int or = getRequestedOrientation();        switch (or) {            case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :// 横屏            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:                return false;            case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT :// 竖屏            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:                return true;            default:                return true;        }    }

但是在onConfigurationChanged

        switch (newConfig.orientation) {            case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :// 横屏            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:                APP.isScreenPortrait = false;                break;            case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT :// 竖屏            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:                APP.isScreenPortrait = true;                break;        }

我就很随意的这样写了,本来我都不想测试,我觉得一定是对的。然后跑了一下程序,发现,是错的。我点击去
onConfigurationChanged(Configuration newConfig) 的switch (newConfig.orientation) 这个类,发现:

    /**     * Overall orientation of the screen.  May be one of     * {@link #ORIENTATION_LANDSCAPE}, {@link #ORIENTATION_PORTRAIT}.     */    public int orientation;

发现这里的值只能是#ORIENTATION_LANDSCAPE}, {@link #ORIENTATION_PORTRAIT其中的一个。啊,自己的无知。应该去点进去看看人家会传递回来什么信息的。然后正确的判断是:

        switch (newConfig.orientation) {            case Configuration.ORIENTATION_LANDSCAPE :// 横屏                APP.isScreenPortrait = false;                break;            case Configuration.ORIENTATION_PORTRAIT :// 竖屏                APP.isScreenPortrait = true;                break;        }

更多相关文章

  1. 手机游戏开发 保持屏幕常亮
  2. android 开启自动旋转屏幕
  3. android 点亮屏幕和屏幕解锁
  4. Android P 手机厂商(华为、Oppo,Vivo)屏幕适配实现记录
  5. Android获取屏幕相关属性ScreenUtil
  6. android 屏幕方向随传感器变化,并带有切换大屏,小屏和锁定屏幕方向
  7. Android屏幕快照(or Android截屏)

随机推荐

  1. android1.5所有ContentProvider
  2. android更新应用程序
  3. Android两个layout切换。
  4. 完成登陆实例
  5. android中短信监听
  6. android http 本地 web服务(tomcat)
  7. Android(安卓)RatingBar 使用示例
  8. JNI示例及讲解
  9. 解决 app:transformClassesWithDexForDeb
  10. Android在整个项目中设置自定义字体