我构建了Android应用程序,现在想添加不同方向的布局。我创建了一个布局区域文件夹,并为我的第一个入门活动“ myStartActivity”(与之前在两个方向上使用的布局名称相同)放置了一个不同的布局。
根据我的屏幕方向,在我启动该应用之前,应选择正确的布局:当我纵向启动时,从“布局”文件夹中选择“ myLayout.xml”,而从“布局-土地”中选择“ myLayout.xml”-我在风景中开始时的文件夹。
问题是,当我已经在活动中时旋转设备时,旋转后我没有得到新的布局。例如:从纵向旋转到横向,静止图像从“布局”文件夹而不是“布局土地”文件夹显示“ myLayout.xml”。
我没有覆盖任何OnConfigurationChange方法或任何东西。我在“ myStartActivity”中所做的只是实例化一些按钮,并为它们提供了一些侦听器。我想在横向中使用其他布局来更改按钮的顺序。
android landscape portrait screen-orientation device-orientation
据我所知,您的Android活动将针对任何方向更改的新方向进行重新创建.
有没有办法在方向改变时存储/保存原始方向的一些数据?
我想存储一些位图,所以我不必在方向更改时再次加载它.
我一直在使用MBProgressHUD来显示hud.在纵向模式下一切正常,但是当我改变设备方向时,hud没有正确旋转?
是否有一些财产以正确的方式设置?
我的应用程序中有一个切换按钮.我想以编程方式更改或控制默认设置,自动旋转屏幕(设置>显示>自动旋转屏幕).有人知道怎么做这个吗?
我目前正在构建一个小型全景照片查看器,可以选择使用陀螺仪导航场景.我从时deviceOrientation事件获取数据并转动欧拉角成旋转矩阵,然后将通过一些转换,最终移动CSS立方体,3dMatrix变换.
我的问题是我在不同设备上的不同浏览器上从deviceOrientation事件中获得了非常不同的数据,我不明白为什么.
在我尝试的几乎所有iPhone上,使用safari mobile和Chrome,一切都很棒.价值观进入并且有意义,整个体验非常无缝.
在三星Galaxy S3上,在Chrome中,我的数据完全不稳定.alpha值实际上似乎并不代表围绕z轴的旋转,并且值有巨大的飞跃,例如beta跳跃从50-130度只有一个小的运动.
在Chrome中的Galaxy Tab S 8.4"中,我仍然会得到一些不稳定的值,有些来回抽搐,但我至少得到了一些近似于所需行为的东西.
在Chrome上的Nexus 7 2nd gen上,体验是连贯的,也是有意义的.与iPhone相比,它的渲染速度不稳定,但它正在正确地旋转所有内容,并且这些值很有意义.
有谁知道我怎么能解决这些问题,或者我应该如何解决这些问题?它们可能是Android的三星端口的问题,或者在最新版本的操作系统中的Android本身.
思考?想法?建议?我此时真的很失落.
谢谢!
我有一个介绍的视图控制器,它支持所有界面方向。但是,当前视图控制器仅应支持纵向模式。
到目前为止,一切都很好。
但是,在iOS8中,当我以横向模式关闭视图控制器WHILE时,横向模式保持不变。而且由于我已经shouldAutorotate设置了NO它,所以永不回头。
问题是,如何强制演示的VC返回肖像?
我目前已实现此替代方法:
- (BOOL)shouldAutorotate
{
if ([self interfaceOrientation] != UIInterfaceOrientationPortrait)
{
return YES;
}
else
{
return NO;
}
}
Run Code Online (Sandbox Code Playgroud)
它允许将设备移动到纵向模式,并且它将留在此处,因为在纵向模式后,自动旋转被禁用了。
但这看起来很难看,直到用户旋转手机为止。
怎么强迫呢?
我试图获得类似于谷歌用他们的纸板应用程序称为"展览"的纸板应用程序示例之一的效果.我有一个3D对象,我想使用设备方向控制旋转.现在只有设备方向控制,我可以查看3D对象,但当我转身时,相机旋转(看起来)导致对象掉出视野,直到我一直回到原来的位置.开始.换句话说,当我环顾四周时,相机似乎在其轴上旋转.我想要的是能够在我转身时旋转物体.
有点像这个例子http://threejs.org/examples/#misc_controls_orbit,除了我想使用设备方向控制旋转.
知道如何合并这个功能吗?
谢谢您的帮助.
作为标题,我想知道现在可以在iOS 9中以编程方式锁定方向吗?这对我的应用程序至关重要,但我无法找到方法.谢谢.
我正在开发支持横向和纵向两种模式的应用程序,我的启动屏幕在ios 9之前已经横向定位它没问题但是ios 9启动屏幕正在以纵向模式启动
我正在制作一个带有threejs的3D项目,它允许用鼠标控制相机用于计算机设备,并且还允许通过智能手机的触摸事件和设备定向事件进行控制.例如,该网站的工作方式与我想要的方式相同.
当我使用OrbitControls在PC版本上移动相机时,我将touchstart/move/end事件绑定到mousedown/move/up并且它完美地工作.
问题是当我尝试添加设备方向事件的值时.这是我尝试在OrbitControls.js中添加的内容:
THREE.OrbitControls = function (object, domElement) {
const scope = this;
let lastBeta = 0;
let lastGamma = 0;
this.deviceOrientation = {};
function onDeviceOrientationChangeEvent(event) {
scope.deviceOrientation = event;
// Z
var alpha = scope.deviceOrientation.alpha
? THREE.Math.degToRad(scope.deviceOrientation.alpha)
: 0;
// X'
var beta = scope.deviceOrientation.beta
? THREE.Math.degToRad(scope.deviceOrientation.beta)
: 0;
// Y''
var gamma = scope.deviceOrientation.gamma
? THREE.Math.degToRad(scope.deviceOrientation.gamma)
: 0;
// O
var orient = scope.screenOrientation
? THREE.Math.degToRad(scope.screenOrientation)
: 0;
rotateLeft(lastGamma - gamma);
rotateUp(lastBeta - beta); …Run Code Online (Sandbox Code Playgroud)