美文网首页
APP横竖屏不切换,不重走生命周期

APP横竖屏不切换,不重走生命周期

作者: 强0808 | 来源:发表于2018-06-28 09:54 被阅读0次

    手机切换横竖屏时,不重走生命周期

    android:configChanges="orientation|keyboardHidden|screenSize"
    

    设置手机一直保持竖屏状态,不重走生命周期

    android:screenOrientation="portrait"
    

    设置手机一直保持横屏状态,不重走生命周期

    android:screenOrientation="landscape"
    

    通过代码设置

    部分手机,通过代码设置,不切换横竖屏,不重走生命周期
    但是还有一部分手机,可能会切换1次横竖屏,重走生命周期,建议添加
    android:configChanges="orientation|keyboardHidden|screenSize"
    属性

    /**
     * 判断是否平板设备
     * @param context
     * @return true:平板,false:手机 
    */
    private boolean isTabletDevice(Context context) {
        return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
    }
    //设置屏幕方向
    private void setScreenOrientation(Context context){  
        if(!isTabletDevice(context)){  
            //手机,竖屏   
           MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  
        }else{ 
             //平板,横屏   
           MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);   
       }
    }
    

    推荐使用

    两个一起设置
    android:screenOrientation="portrait"
    android:configChanges="orientation|keyboardHidden|screenSize" 
    

    借鉴

    https://www.jianshu.com/p/dbc7e81aead2

    相关文章

      网友评论

          本文标题:APP横竖屏不切换,不重走生命周期

          本文链接:https://www.haomeiwen.com/subject/haivyftx.html