首页 > 学院 > 开发设计 > 正文

横竖屏切换

2019-11-09 15:07:04
字体:
来源:转载
供稿:网友

横竖屏切换隐藏系统状态栏

1. 切换到横屏时添加如下代码:
//获得 WindowManager.LayoutParams 属性对象WindowManager.LayoutParams lp = getWindow().getAttributes();//直接对它flags变量操作 LayoutParams.FLAG_FULLSCREEN 表示设置全屏lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;//设置属性getWindow().setAttributes(lp);//意思大致就是 允许窗口扩展到屏幕之外getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
2. 切换到竖屏时添加如下代码:
//获得 WindowManager.LayoutParams 属性对象WindowManager.LayoutParams lp2 = getWindow().getAttributes();//LayoutParams.FLAG_FULLSCREEN 强制屏幕状态条栏弹出lp2.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置属性getWindow().setAttributes(lp2);//不允许窗口扩展到屏幕之外 clear掉了getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);@Overridepublic void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); mIsLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE; if (mIsLandscape) { //获得 WindowManager.LayoutParams 属性对象 WindowManager.LayoutParams lp = getWindow().getAttributes(); //直接对它flags变量操作 LayoutParams.FLAG_FULLSCREEN 表示设置全屏 lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; //设置属性 getWindow().setAttributes(lp); //意思大致就是 允许窗口扩展到屏幕之外 getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); //获得 WindowManager.LayoutParams 属性对象 } else { WindowManager.LayoutParams lp2 = getWindow().getAttributes(); //LayoutParams.FLAG_FULLSCREEN 强制屏幕状态条栏弹出 lp2.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置属性 getWindow().setAttributes(lp2); //不允许窗口扩展到屏幕之外 clear掉了 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表