精华内容
下载资源
问答
  • 我应该怎么设置才能让它变成横屏模式 <img alt="_20180517160801" src="https://user-images.githubusercontent.com/17581529/40164601-9f59239a-59ec-11e8-8208-61be0447533c.jpg" /></p> 我的配置如下图 ...
  • android 横竖屏不能旋转

    千次阅读 2018-12-17 20:48:17
    最近遇到一个很奇怪的bug,手机所有界面横竖屏不能切换,但是,内置Camera 的拍照按钮可以随着横竖可以转动.   第一次反应是重力传感器,方向传感器以及加速度传感器是否有效.本地有测试传感器的apk,发现重力传感器...

    最近遇到一个很奇怪的bug,手机所有界面横竖屏不能切换,但是,内置Camera 的拍照按钮可以随着横竖屏可以转动. 
           第一次反应是重力传感器,方向传感器以及加速度传感器是否有效.本地有测试传感器的apk,发现重力传感器失效,方向传感器是正常和加速度传感器是正常的。
          寻找触发横竖屏的方法。
          触发屏幕旋转对应代码:
    frameworks/base/services/core/java/com/android/server/policy/WindowOrientationListener.java

        /**
         * Creates a new WindowOrientationListener.
         *
         * @param context for the WindowOrientationListener.
         * @param handler Provides the Looper for receiving sensor updates.
         * @param rate at which sensor events are processed (see also
         * {@link android.hardware.SensorManager SensorManager}). Use the default
         * value of {@link android.hardware.SensorManager#SENSOR_DELAY_NORMAL
         * SENSOR_DELAY_NORMAL} for simple screen orientation change detection.
         *
         * This constructor is private since no one uses it.
         */
        private WindowOrientationListener(Context context, Handler handler, int rate) {
            mHandler = handler;
            mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
            mRate = rate;
            //搜索所有的TYPE_DEVICE_ORIENTATION 的senor.
            List<Sensor> l = mSensorManager.getSensorList(Sensor.TYPE_DEVICE_ORIENTATION);
            Sensor wakeUpDeviceOrientationSensor = null;
            Sensor nonWakeUpDeviceOrientationSensor = null;
            /**
             *  Prefer the wakeup form of the sensor if implemented.
             *  It's OK to look for just two types of this sensor and use
             *  the last found. Typical devices will only have one sensor of
             *  this type.
             */
          //遍历所有TYPE_DEVICE_ORIENTATION 的senor
            for (Sensor s : l) {
                if (s.isWakeUpSensor()) {
                    wakeUpDeviceOrientationSensor = s;
                } else {
                    nonWakeUpDeviceOrientationSensor = s;
                }
            }
       
            if (wakeUpDeviceOrientationSensor != null) {
                mSensor = wakeUpDeviceOrientationSensor;
            } else {
                mSensor = nonWakeUpDeviceOrientationSensor;
            }

            if (mSensor != null) {
                mOrientationJudge = new OrientationSensorJudge();
            }

            if (mOrientationJudge == null) {

             //  USE_GRAVITY_SENSOR 定义死为false.
             //   private static final boolean USE_GRAVITY_SENSOR = false;
             //也就是说只要mOrientationJudge为null,则获取mSensor是TYPE_ACCELEROMETER 类型

                mSensor = mSensorManager.getDefaultSensor(USE_GRAVITY_SENSOR
                        ? Sensor.TYPE_GRAVITY : Sensor.TYPE_ACCELEROMETER);
                if (mSensor != null) {
                    // Create listener only if sensors do exist
                    mOrientationJudge = new AccelSensorJudge(context);
                }
            }
            if (mWindowManagerDebugger.WMS_DEBUG_USER) {
                Slog.d(TAG, "ctor: " + this);
            }
        }
       从代码中发现涉及三个传感器:方向传感器(ORIENTATION),重力传感器(GRAVITY)和加速度传感器(ACCELEROMETER),但是,重力传感器在此代码根本就没有使用.实际使用的是方向传感器和加速度传感器。

    展开全文
  • 解决办法: 在页面css中设置min-width为一个超出一般苹果手机的值

    解决办法:

    在页面css中设置min-width为一个超出一般苹果手机的值

    展开全文
  • 图片自适应手机横屏竖屏的宽高

    千次阅读 2015-07-06 11:15:16
    由于某些原因,图片的宽度不能设置成自适应的,想要轮播图片自适应手机横屏竖屏,只能用js来控制图片的大小了。   &lt;div id="mgg" style="width: ${ width }px;"&gt; &lt;ul...

    由于某些原因,图片的宽度不能设置成自适应的,想要轮播图片自适应手机横屏竖屏,只能用js来控制图片的大小了。

     

    <div id="mgg" style="width: ${ width }px;">
    	<ul class="tag-pic" style="width: 100000px;">
    		<c:forEach var="ad" items="${ adList }" >
    			<li>
    				<img width="${width }" height="${height }" src="${ ad.url }">
    			</li>
    		</c:forEach>
    	</ul>
    </div>

     

    <script type="text/javascript">
    //默认值
    Mgg = {
    	setWidth : '${width }',
    	setHeigth : '${height }',
    	step : $(document).width() == '' ? 324 : parseInt($(document).width())+4,
    	imgs : 3		//图片的数量
    }; 
    
    Mgg.changeSize() = function(){
    	//取当前屏幕宽度
    	var screenWidth = $(document).width();
    	Mgg.step = screenWidth == '' ? 324 : parseInt(screenWidth)+4;
    	//计算高度
    	var height = (Mgg.setHeigth / Mgg.setWidth) * screenWidth;
    	$('#mgg').css("width", screenWidth);
    	$('#mgg').css("height", height);
    	$('#mgg .tag-pic').width((Mgg.imgs + 2)*Mgg.step);
    	$('#mgg .tag-pic img').each(function(){
    		$(this).attr("width", screenWidth);
    		$(this).attr("height", height);
    	});
    };
    
    $(window).resize(function(){
    	Mgg.changeSize();
    });
    
    $(document).ready(function(){
    	//图片尺寸
    	Mgg.changeSize();
    }); 
    </script>	

     

     

     

    展开全文
  • 手机上如何让页面强制横屏

    万次阅读 2017-08-09 13:26:36
    p>谁说html5不能横屏的。。。p> p>我就是要横屏。。。p> p>要横屏。。。p> p>横屏。。。p> p>屏。。。p> p>图片也是可以的。img src="http://img001.photo.21cn.com/photos/album/20120904/o/6A7

    首先准备一段html内容:

      <div id="content">
        <p>谁说html5不能横屏的。。。</p>
        <p>我就是要横屏。。。</p>
        <p>要横屏。。。</p>
        <p>横屏。。。</p>
        <p>屏。。。</p>
        <p>图片也是可以的。<img src="http://img001.photo.21cn.com/photos/album/20120904/o/6A7A403C29766CBCB38C616BDFD48486.jpg" /></p>
      </div>
    

    其实原理很简单,只需要把内容向右旋转90度就变成了横屏啊。先把定位修改为absolute

        #content {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
        }
    
        #content p {
          margin: auto;
          margin-top: 20px;
          text-align: center;
        }
        img {
          width: 100px;
        }
    

    其实除了position: absolute;这行代码其他都是不必要的,其他只是为了做一些居中对齐等。然后我们用js判断是竖屏(portrait)还是横屏(landscape),如果是竖屏,向右旋转90度。

      const width = document.documentElement.clientWidth;
      const height = document.documentElement.clientHeight;
      if (width < height) {
        console.log(width + " " + height);
        const contentDOM = document.getElementById('content');
        contentDOM.style.width = height + 'px';
        contentDOM.style.height = width + 'px';
        contentDOM.style.top = (height - width) / 2 + 'px';
        contentDOM.style.left = 0 - (height - width) / 2 + 'px';
        contentDOM.style.transform = 'rotate(90deg)';
      }
    

    正确旋转

    但是如果用户的屏幕旋转按钮开着,然后用户又把手机横过来,就悲剧了,如下图。 错误旋转

    所以我们还需要监听屏幕变化,如果用户自己把屏幕横过来,就把之前的旋转去掉。

      const evt = "onorientationchange" in window ? "orientationchange" : "resize";
      window.addEventListener(evt, function () {
        const width = document.documentElement.clientWidth;
        const height = document.documentElement.clientHeight;
        const contentDOM = document.getElementById('content');
        alert('width: ' + width + ' height: ' + height)
        if (width > height) { // 横屏
          contentDOM.style.width = width + 'px';
          contentDOM.style.height = height + 'px';
          contentDOM.style.top = '0px';
          contentDOM.style.left = '0px';
          contentDOM.style.transform = 'none';
        }
        else { // 竖屏,这里微信应该由bug,我切换为竖屏的时候,width:375, height: 323, 导致不能旋转角度。 在safari、chrome上是正确的。
          alert('change to portrait')
          contentDOM.style.width = height + 'px';
          contentDOM.style.height = width + 'px';
          contentDOM.style.top = (height - width) / 2 + 'px';
          contentDOM.style.left = 0 - (height - width) / 2 + 'px';
          contentDOM.style.transform = 'rotate(90deg)';
        }
    
      }, false);
    

    完整的Demo请看这里

    展开全文
  • ios系统的微信h5,手机横放时会自动横屏因为rem十等分,字体会变大,然后竖着切换回竖屏时,有些组件的字体不能恢复。 在body的样式里加上: text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-...
  • CSS判断横屏还是竖屏 1.写在同一个css文件中 ...注意:@media screen不能打印,@media print是只能打印,@media就都可以 2.分开写在2个CSS中 竖屏: <link rel="stylesheet" media="all and (orien
  • 判断手机系统当前是否处于状态 看过好几个例子,但是获取的都是当前应用中的界面是否是,我现在有一个需求是判断系统是否处于仅仅局限于自己的应用,还包括其他的应用。 private boolean ...
  • 在学习了autolayout之后,现在使用的是比较流行的Masonry的第三方开发库,使用之后,发现在手机横屏的情况下,虽然能够自适应,但是由于横屏的状态下,有一些控件跑到了 屏幕的下面,这样让人很爽,所以想到添加...
  • 做视频剪辑的朋友,做自媒体的朋友,都会遇到横屏视频、竖屏视频互相转换的情况,今天小编要教大家的是,用固乔剪辑助手,批量将几百个视频,实现,一键全部转换,话多说,我们一起来看下操作。 1、 大家先...
  • MTK 手机平台 横屏破解 初步验证办法: 一般一共要按上面的试验分辨率,修改5个地方的with、height参数。试验分辨率:横1024,竖600!(宽、高一定不能搞反,否则验证没意义): 1、lk显示驱动.c文件 #define ...
  • 移动端如何强制页面横屏

    千次阅读 2017-12-19 21:11:40
    背景最近公司要开发一个移动端的类网页游戏: 长按按钮有个自行车一直骑行,碰到...而且有些机型有些app不能横屏:比如Android的微信就没有横屏模式,而ios的微信能开启横屏模式。解决办法就是在竖屏模式下,写一个横
  • iOS强制横竖转换

    2018-06-01 11:49:00
    经测试,想要第一个界面强制横屏,...用户的手机设备禁止旋转按钮打开状态下,旋转手机屏幕依然强制横屏或者竖屏。 第一个界面强制横屏 在工程设置里 如果是要第一个界面强制竖屏 那么设置为 AppD...
  • 最近公司要开发一个移动端的类网页游戏: 长按按钮有个自行车一直骑行,碰到某个国家的地标就弹出该国的相应say hello的tip,要求横屏显示,不能竖屏。这是js实现手机横竖屏事件 然而当用户竖屏打开时,而且没开启...
  • ios 强制横屏大总结

    万次阅读 2017-04-01 12:12:04
    整个项目是竖屏的,不能横屏,但是有个播放界面必须要横屏于是就开始找各种横屏的方法,最后在手机上好使了,但是在pad上横屏启动的时候界面是横屏显示,很是苦恼,就又开始了漫长的找资料,直接上代码1,配置plist...
  • css3旋转模拟手机横屏。 当手机不能自动旋转时,或有特殊需求。用css3 transform,实现横屏展示。
  • 用django搭了个博客,播放视频用的videojs,他自带个fullscreen功能,但只是简单的按固定宽高比填充,pc端这样没问题,手机端的浏览器就无法自动横屏填充,只能开启手机的自动横屏,但陀螺仪那个尿性动动就瞎转,...
  • iOS-强制横屏大总结

    千次阅读 2018-10-30 15:09:23
    整个项目是竖屏的,不能横屏,但是有个播放界面必须要横屏于是就开始找各种横屏的方法,最后在手机上好使了,但是在pad上横屏启动的时候界面是横屏显示,很是苦恼,就又开始了漫长的找资料,直接上代码 1、配置...
  • 移动端开发-禁止横屏

    千次阅读 2017-08-21 17:52:00
    对于移动端的页面,很多时候是希望横屏显示的,有可能横屏显示页面显示全或者影响美观,也或者其他的方面。 然而,横屏这个功能一般在手机手机浏览网页的app上设置,作为网页是没有权限去操作这一设置的。 ...
  • 横屏显示,不能竖屏。有经验的你肯定知道,当用户竖屏打开时,提示说你要把手机转过来是在是件很傻×的事情。这时如果用户没开启手机里的横屏模式,还要逼用户去开启。这时候用户早就不耐烦的把你的游戏关掉了。...
  • 在开发手机应用的过程中,有一个细节不能忽视,那就是手机横屏和竖屏。因为适应竖屏的布局,在横屏下未必美观。所以如何使应用能够自动适应两种情况还是很有必要的。当然,我们可以通过代码判断究竟是横屏还是竖屏...
  • Flutter强制某个页面横屏

    千次阅读 2020-09-16 15:15:56
    1.问题描述 在某个页面中使用flutter提供的方式来强制...在Android上表现完美,但是在iOS中不能自动横屏,需要手动旋转手机。 万幸!pub上有这样一个package,可以完美解决: orientation 2.使用orientation 2.1.
  • iphone很好的使用onorientationchange事件,但是android的onresize事件即使旋转也会触发多次

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 257
精华内容 102
关键字:

手机不能横屏