经常在开发中,比如视频播放这种情况,当用户点击全屏播放的时候,我们需要切换手机屏幕,当然我们可以从像以前一样,在AndroidManifest给Activity设置好预先设置,然后通过点击进入这个页面。

//横屏设置;
android:screenOrientation="landscape"
//竖屏设置;
android:screenOrientation="portrait"  

但是实际情况,我们不需要那么做,最理想的情况当然是在一个页面,动态设置横竖屏,但是也有弊端,当手机开启自动旋转屏幕(重力感应)的时候,我们的布局会被打乱,因为我们横屏设置的50dp,切换到竖屏的时候50dp就不一样了。

//横屏设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  //竖屏设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  

当然你也可以监听重力感应。

private final void startOrientationChangeListener() {  mOrientationListener = new OrientationEventListener(this) {  @Override  public void onOrientationChanged(int rotation) {  if (((rotation >= 0) && (rotation <= 45)) || (rotation >= 315)||((rotation>=135)&&(rotation<=225))) {//portrait  mCurrentOrient = true;  if(mCurrentOrient!=mScreenProtrait)  {  mScreenProtrait = mCurrentOrient;  OrientationChanged(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  Log.d(TAG, "Portrait!");  }  }  else if (((rotation > 45) && (rotation < 135))||((rotation>225)&&(rotation<315))) {//landscape  mCurrentOrient = false;  if(mCurrentOrient!=mScreenProtrait)  {  mScreenProtrait = mCurrentOrient;  OrientationChanged(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  Log.d(TAG, "Landscape!");  }  }  }  };  mOrientationListener.enable();
}

Android 屏幕旋转(横竖设置)相关推荐

  1. Android屏幕旋转时Activity不重新调用onCreate的方法

    2019独角兽企业重金招聘Python工程师标准>>> android屏幕旋转时Activity不重新调用onCreate的方法 当手机转屏时,Activity的onDestroy和 ...

  2. 怎么设置苹果手机的小圆点_iPhone屏幕旋转怎么设置?关于苹果手机设置的一些小技巧...

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都会有分享,都是免费订阅,请您放心关注. 注:本文转载自网络,不代 ...

  3. 怎么设置苹果手机的小圆点_苹果屏幕旋转怎么设置?关于苹果手机设置的一些小技巧...

    苹果屏幕旋转怎么设置?在平常使用手机观看视频的时候,很多人希望手机屏幕可以自己旋转为横屏状态,在使用微信聊天的时候再自动转为竖屏,这种切换可以直接利用控制中心的一个功能来实现. 如何开启苹果手机的屏幕 ...

  4. 苹果屏幕旋转怎么设置?关于苹果手机设置的一些小技巧

    苹果屏幕旋转怎么设置?在平常使用手机观看视频的时候,很多人希望手机屏幕可以自己旋转为横屏状态,在使用微信聊天的时候再自动转为竖屏,这种切换可以直接利用控制中心的一个功能来实现. 如何开启苹果手机的屏幕 ...

  5. 苹果6怎样打开html,苹果6屏幕旋转怎么设置 怎么开启和关闭【图文】

    手机在使用的过程中,通常都会有两种状态,横屏与竖屏,大家的使用习惯不一样,所喜欢的状态也不一样,而且手机都会有屏幕自动旋转的情况,它会根据手机的摆放状态自己切换,比较方便大家使用,当然这个功能也可以关 ...

  6. 苹果主屏幕按钮怎么设置_Mac小技巧 Mac屏幕旋转怎么设置

    相信不少的Mac用户在躺下看电子书或者电影的时候,都希望可以将Mac的电脑屏幕进行旋转!其实,这个操作是可以实现的呢!那么,你知道Mac屏幕旋转怎么设置吗?想要知道答案的话就快来阅读下面的文章吧!今天 ...

  7. Android屏幕旋转设置

    1. 两种方式强制设置横屏或竖屏 第一种,通过修改Activity的onResume()方法 @Override protected void onResume() {/*** 设置为横屏*/if(g ...

  8. android屏幕旋转生命周期,Activity、Fragment生命周期---横竖屏切换的生命周期

    先贴出一张大家众所周知activity流程图 onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态.onStart():A ...

  9. Android 屏幕旋转 全解析

    屏幕旋转一般的解决方案 关于屏幕旋转这里,之前一直没太注意,因为根据设备会有指定的屏幕旋转策略如: 开发手机应用时一直使用强制竖屏布局 开发平板设备一直使用横屏布局 开发系统应用,一般给两套即横竖各一 ...

  10. Android 屏幕旋转方向和屏幕起始原点的关系

    我们调试的平板设备大部分默认都是竖屏模式(估计是受手机影响),设备平放,系统自带开机动画界面的显示起始点即为屏幕的起始原点,就是屏幕旋转的0°角. 假定设备初始方向为竖屏模式,LCD的起始原点有可能出 ...

最新文章

  1. 字符串面试题(一)字符串逆序
  2. Oracle误删除数据和表的恢复办法包括truncate
  3. java oom_Java中关于OOM的场景及解决方法
  4. SAP常用的科目字段状态组设置
  5. Python中type()详解:动态创建类
  6. 2018 年,你可以把论文投给这 13 场 AI 学术会议(附截稿日期)
  7. 分布式系统理论之租约机制学习
  8. 来华30载,这些都是Oracle的神来之笔……
  9. PHP收费事件导致用户流失,PHP秒杀系统方案(解决大流量,高并发)
  10. KubeEdge 1.3.0 部署
  11. 并发之线程封闭与ThreadLocal解析
  12. Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)
  13. Unity3D基础5:摄像机与Game视图
  14. php代码高亮正则,php通过正则表达式实现语法高亮
  15. NC65销售订单功能导入
  16. 地方时太阳时html源码,地方时、区时和世界时
  17. 什么叫单模光纤_单模光缆是什么?单模光缆怎么连接?
  18. 有关HTML的小众面试题
  19. 弦民谣吉他音源 Orange Tree Samples Evolution Steel Strings Kontakt
  20. python3进阶之正则表达式之re模块之分组(group)、贪心匹配、编译

热门文章

  1. 如何在XMind 7中多页打印
  2. uos系统忘记密码破解步骤
  3. 李子的猜数游戏!(已更新!)
  4. Real6410移植linux-2.6.39.1记录(3)-USB驱动移植(USB HOST以及USB OTG)
  5. [系统]制作老毛桃U盘WinPE
  6. QSplitter设置比例
  7. SVPWM仿真和基于DSP28335的PIL(处理器在环) 仿真模型(将matlab仿真算法生成代码在DSP中在线运行返回数据给Matlab)验证算法可行性和实时性
  8. gcc-4.8.5 优化选项
  9. 一步步教你用 WebVR 实现虚拟现实游戏
  10. python 发送微信语音消息_全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)...