检测手机横竖屏切换

我们做移动端项目的时候,为了更好的完善用户体会,经常会需要处理好手机横竖屏时候的效果,下面看一下通过代码如何判断手机是否是横竖屏,两种方式:

一、第一种方式:

<style type="text/css">body,html {   margin: 0;   height: 100%;   position: relative;   overflow: hidden;}  #box {   width: 100%;   height: 100%;   font-size: 20px;   position: relative;}#div {   width: 100px;   height: 100px;   background: red;}#pop {   display: none;   position: absolute;   left: 0;   top: 0;   width: 100%;   height: 100%;   background: #000;   color: #fff;   line-height: 200px;   font-size: 30px;   text-align: center;}</style></head><body><div id="box">   请保持竖屏观看哟   <div id="div"></div></div><div id="pop">请不要横屏浏览页面</div><script type="text/javascript">setChange();window.addEventListener(‘orientationchange‘, function(e){   setChange()});function setChange(){   var pop = document.querySelector(‘#pop‘);   if(window.orientation == 90 || window.orientation == -90)   {      pop.style.display = "block";   } else {      pop.style.display = "none";   }}</script>

二、第二种方式
<style type="text/css">body,html {   margin: 0;   height: 100%;   position: relative;   overflow: hidden;}  #box {   position: absolute;   left: 50%;   top: 50%;   font-size: 20px;   position: relative;}#div {   width: 100px;   height: 100px;   background: red;}</style></head><body><div id="box">   请保持竖屏观看哟   <div id="div"></div></div><div id="pop">请不要横屏浏览页面</div><script type="text/javascript" src="m.Tween.js"></script><script type="text/javascript">setStyle()setChange();window.addEventListener(‘orientationchange‘, function(e){   setChange();});function setStyle(){   var box = document.querySelector(‘#box‘);   var w = window.screen.width;   var h = window.screen.height;   box.style.width = w + "px";   box.style.height = h + "px";   box.style.margin = -h/2 + "px 0 0 "+(-w/2)+"px";}function setChange(){   var box = document.querySelector(‘#box‘);   if(window.orientation == 90 || window.orientation == -90)   {      css(box,"rotate",90);   } else {      css(box,"rotate",0);   }}</script>

分享技术,分享快乐!
时间: 2024-12-27 08:09:44

检测手机横竖屏切换的相关文章

android开发之activity横竖屏切换时的生命周期以及横竖屏切换时的资源适配方案

背景:之前有过两篇写activity的博客 android之activity的生命周期详解:详细介绍了activity的整个生命周期.各状态间的转换和返回桌面时保存activity的状态 android之activity中onSaveInstanceState和onRestoreInstanceState的触发时机:介绍了activity中这两个方法的触发时机和作用 本篇博客会牵扯到里面的内容,如果你都有所了解可以直接往下看,如果不了解可以进去回忆下. 问题:在做应用的退出对话框时,发现如果对话

软件的横竖屏切换

使用手机软件时,软件会根据不同情况进行横竖屏切换.当手机横竖屏切换时Activity 会销毁重建.对实际开发造成影响. 要解决这一问题,横竖屏切换时不让Activity销毁不断的重建,可以在AndroidMainifest.xml文件中设置avtivity的android: configChanges的属性. android:configChanges="orientation | keyboardHidden | screenSize" 而如果要禁止软件切换横竖屏,则可以使用以下代码

Android横竖屏切换处理

Android横竖屏要解决的问题应该就两个: 1.布局问题:2.重新载入问题   一.布局问题: 如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. "landscape":横屏显示(宽比高要长

Android横竖屏切换总结

Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. "lan

Android-用重力传感器做横竖屏切换

在播放视频的时候,可能要做横竖屏的切换,但是,用户可以设置自己的手机关掉屏幕旋转,这个时候就需要想其他的办法了,比如:重力传感器. public class ScreenSwitchUtils { private static final String TAG = ScreenSwitchUtils.class.getSimpleName(); private volatile static ScreenSwitchUtils mInstance; private Activity mActiv

安卓横竖屏切换问题总结

如果不想让软件在横竖屏之间切换: 可以通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来实现. 比如下列设置 android:screenOrientation="portrait" 则无论手机如何变动,拥有这个属性的activity都将是竖屏显示. android:screenOrientation="landscape",为横屏显示. 上述修改也可以在Java代码中通过类似如下代码来设

Android实战技巧之二十四:横竖屏切换

这几年一直在做手机上和电视盒的App,几乎没有考虑过横竖屏切换的问题.电视盒好说,横屏不变,你要是给它设计个竖屏人家也没机会使:而手机上的应用就不好说了,有些界面你设计了横竖屏兼容可能是为了表示你的功能强大.但是按照惯例,或许也是设计师图省事,我们只是做一个方案.就像目前主流的App都只有竖屏一个模式,比如微信.京东和招商银行.我截了几张图表示一下. 但是像地图之类的应用,也许横屏会显示的更友好一些.请看腾讯地图的设计如下: 细心的你会发现,地图的横竖屏的样式几乎是一样的布局,调整起来还是比较容

Android横竖屏切换小结

Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进行关闭. AndroidManifest.xml <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|

Android应用:横竖屏切换总结

眨眼间,已经到了2016你年春节前,离上一篇博客的时间已经有6个月多,回想起这半年的种种,不得不说,学习和工作实在是太忙了,或许这就是程序员的真实写照吧. 写博客之初,主要的目的还是为了把自己的学习痕迹记录下来,写的东西比较基础,也不多,算是一种督促,希望能坚持地学习下去,因为学识不存在暴发户,靠的是积累.如果对自己过去半年的学习给个评价,我还是比较满意的,前期定下来的目标都基本都达到了.单凭这个,我就觉得今年的新年会是个好年. 说完过去,那么接着就是将来.因为现在的工作环境上外网不大方便,而且