问题标签 [device-orientation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 关于方向变化的 JavaScript 警报在 Android 上不断重复
当移动设备的方向发生变化时,此代码会创建警报。它适用于我的 iPhone,但在我的 Android 上,警报不断触发,有效地使页面不可用。代码在 dom 就绪上运行。
有人知道为什么会这样吗?万一有一个使用它的解决方案,我在这个网站上使用 jQuery。谢谢
更新 - 这段代码做同样的事情:
iphone - 仅允许在 UITabViewController 中将一个选项卡的方向更改为横向
这可能吗?我怎么能做到这一点?
android - 如何使用 getorientation 和 getrotation 矩阵计算俯仰、滚动
我想获得滚动和俯仰值来检测设备在 4 个方向上的倾斜。我想使用 getorientation 和 getrotation 矩阵来做到这一点。我该怎么做?甚至链接也会有所帮助。
html - 为什么将移动设备从横向旋转到纵向后网页会放大?
我有一个针对在手机中查看而优化的网页。
我正在使用检测设备宽度并将视口宽度设置为该值的viewport
元标记。<meta name = "viewport" content = "width = device-width">
这意味着我的网页可以在移动浏览器中正确加载,而不是看起来可笑地缩小。
当我在我的手机(三星 Galaxy S2)上以纵向模式加载页面时,它看起来很好,我旋转到横向,它看起来很好,但是如果我再次旋转回纵向,页面会稍微放大。我要么必须缩小,要么水平滚动。
为什么我的移动浏览器会这样做,我该如何阻止它发生?
有关正在发生的事情的视觉帮助,请参见屏幕截图。
mobile-safari - 元视口地狱
我设计了一个响应式网站并使用 Compass Susy 构建了一个原型。
我在 iPad 和 iPhone 上的 Mobile Safari 上遇到的问题是,当我以纵向模式加载网站,然后旋转到横向时,整个布局可能会向右跳 30%(它还会放大缩放以适应480 像素横向宽度)。
我已经尝试了几件事,我注意到将元视口标签从更改
<meta content="width=device-width, initial-scale=1" name="viewport">
为
<meta content="width=device-width" name="viewport">
(删除初始比例)不会发生跳转。
但是,如果没有该属性,我的手机布局太小,即使在最初的纵向视图中也是如此。在两个方向上,它都与右边的排水沟齐平。
我已经尝试扩大 Susy 网格中的列,虽然它明显使其他平台上的布局更宽,但在手机上仍然会缩小以显示右侧的排水沟。所以这是某种视口问题。
使用初始比例设置,在 Android 上它适合,在旋转到横向时它不会跳跃,但保持 320 像素(左右边距)。
我需要在这里做什么?
orientation - 在 iPad/iPhone 上在纵向和横向之间切换时响应站点被放大
我在这里使用 Twitter Bootstrap 构建了一个响应式网站:http: //zarin.me/cce/
响应式设计在 iPad 和 iPhone 上效果很好,但是当我将设备从纵向翻转到横向时,网站会放大而不是适应屏幕(捏住屏幕有效)。
我错过了什么?这是视口问题吗?这是我在我的唯一视口代码:
提前致谢!
objective-c - 如何设置默认方向
可能重复:
如何在 iPhone 上启动后设置方向
我将如何设置应用程序的默认方向,例如初始屏幕所在的方向,以及应用程序在自动旋转之前所在的方向?
android - 当方向改变时使用选项卡重新加载活动时,片段被初始化两次
当我更改设备的方向时,我在重新加载带有选项卡和片段的活动时遇到问题。
情况如下:
我有一个在操作栏中有 3 个选项卡的活动。FrameLayout
每个选项卡在主视图中加载不同的片段。如果我不改变设备的方向,一切正常。但是当我这样做时,Android 会尝试初始化当前选择的片段两次,这会产生以下错误:
以下是产生错误的步骤顺序:
- 我加载活动,选择选项卡 nr 2。并更改设备的方向。
- Android 销毁由 tab nr 2 加载的片段的活动和实例(从现在开始,“片段 2”)。然后它继续创建活动和片段的新实例。
- 在里面
Activity.onCreate()
,我将第一个选项卡添加到操作栏。当我这样做时,此选项卡会自动选择。它可能代表未来的问题,但我现在不介意。onTabSelected
被调用并创建并加载第一个片段的新实例(参见下面的代码)。 - 我添加了所有其他选项卡而没有触发任何事件,这很好。
- 我打电话
ActionBar.selectTab(myTab)
选择 Tab nr 2。 onTabUnselected()
为第一个选项卡调用,然后onTabSelected()
为第二个选项卡调用。此序列替换片段 2 实例的当前片段(参见下面的代码)。- 接下来,
Fragment.onCreateView()
在 Fragment 2 实例上调用,并且片段布局变得膨胀。 - 这是问题所在。Android 调用
onCreate()
,然后onCreateView()
在片段实例 ONCE AGAIN 上调用,当我尝试膨胀(第二次)布局时会产生异常。
显然问题是Android两次初始化片段,但我不知道为什么。
当我重新加载活动时,我尝试不选择第二个选项卡,但是第二个片段无论如何都会被初始化并且它没有显示(因为我没有选择它的选项卡)。
我发现了这个问题:Android Fragments recreated onorientation change
用户问的问题基本上和我一样,但我不喜欢选择的答案(这只是一种工作方式)。必须有某种方法可以在没有android:configChanges
技巧的情况下使其正常工作。
如果不清楚,我想知道如何阻止片段的重新创建或避免片段的双重初始化。很高兴知道为什么会发生这种情况。:P
以下是相关代码:
Fragment 的代码无关紧要,它只是返回onCreateView()
方法覆盖的膨胀视图。
iphone - 正确旋转的程序化 UIView
我一直在以编程方式完成几乎所有的用户界面,并在界面生成器中执行了一些细微的更改。但是所有 UI 的 99% 都是在代码中完成的,因为我觉得这样做可以获得一定的灵活性方式。
但是我现在在处理设备的旋转时遇到了问题,因为我有几个 UIViews 被添加为子视图我面临一个旋转问题,因为这是我通常声明视图的方式
并且由于设备旋转时这个固定的 CGRectMake 视图保持相同的大小并且正确地适合视图的方向。
所以我研究了一个在我看来很糟糕的解决方案。我在其中制作了几个视图,用户可以从中选择选项,然后我将它们动画出来。但是他们需要能够处理任何一个中的加载纵向或横向,然后如果在加载它们时,它们需要能够处理从任一方向到另一个方向的旋转。
这就是我所做的观点之一。
在这个例子中,我有两个视图横向和纵向,显然每个名称都是针对它们各自的方向.. 上面的逻辑遵循这个
我想知道是否有比经历所有这些麻烦更简单的方法!我仍然相当缺乏经验,所以这是我最好的尝试.. 我希望那里的人知道一种更简单的方法,而不是必须做所有这些腿部工作才能将视图添加到其他视图中,因为子视图可以正确调整方向
任何帮助将不胜感激!我很绝望哈哈:)
xcode - 转回纵向时,shouldAutorotateToInterfaceOrientation 不会触发
这是事件:
每当设备旋转时,我都会设置我UIScrollView
的,以便里面的东西总是“正确”的一面朝上。
这有效,除非设备从横向旋转回纵向(右侧向上),断点验证shouldAutorotateToInterfaceOrientation
没有被调用。因此,当设备转回纵向时,UIScrollView
内容是横向的。我怎样才能解决这个问题?