Articles of android orientation

Android中的旋转矢量传感器和方向传感器之间的概念差异是什么?

Android提供旋转矢量传感器和方向传感器。 我知道它们会返回不同的数据,因为对于矢量传感器,我们有角度的误差,在方向传感器中我们有角度。 但是概念上的区别是什么? 我从文档中无法理解。 哪一个提供了三维空间中设备的方向? 我很困惑!

允许一个片段中的旋转/横向

我的应用程序有一个Activity,其中包含一个带有四个片段的FragmentPagerAdapter(使用ViewPagerIndicator库)。 其中一个片段设计了单独的纵向和横向布局,其他三个不需要并且需要固定为纵向。 我的想法是在清单中设置android:configChanges=”orientation”并在所有片段的onResume()中调用getActivity().setRequestedScreenOrientation() ,在其中三个片段中锁定到SCREEN_ORIENTATION_PORTRAIT ,但在需要的片段中锁定到SCREEN_ORIENTATION_PORTRAIT允许旋转,但这不起作用。 该应用程序仍处于纵向模式。 有没有办法实现这个目标? 实际活动实际上并不需要旋转,如果无论如何都允许片段在没有活动的情况下改变方向,但我没有发现任何提及这是可能的。 如果活动旋转也同样可以,因为标签栏在横向时将被隐藏。

我怎么能用setRetainInstance(true)破坏碎片并将它们添加到backstack?

setRetainInstance上的文档说: 这只能用于不在后栈中的片段。 所以我开始玩它。 我有一个Activity添加第一个frag A FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.content, new PackageFragment()); ft.commit 然后从这个frag我运行一个父Activity的方法,它将frag B添加到backstack FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.content, new OrderFragment()); ft.addToBackStack(null); ft.commit(); 然后我从onCreate,onDestroy,onSaveInstanceState,onActivityCreated ……等创建log msg 我尝试了这个过程的两个版本。 在每个片段上旋转设备。 默认 一切都如预期。 onCreate,onDestroy on fragment fire setRetainInstance(真) 一切都如预期的那样? onCreate,onDestroy片段不要开火 当片段都在后台时,一切似乎都有效..所以为什么文档说我不应该使用它? 我可能遇到麻烦的情况是什么? 谢谢

screenOrientation portrait和userPortrait有什么不同?

我需要知道screen orientation userPortrait和portrait的真正区别。 何时使用什么? 当这个? android:screenOrientation="portrait" 当这个? android:screenOrientation="userPortrait"

如何保持在Android中运行时方向更改时popup窗口打开?

我创build了一个popup窗口,其中包含月视图来获取date。 当我改变方向时,由于Android重新加载一个活动,我popup的窗口就会消失。 即使在运行时改变方向,我如何打开它?

以编程方式禁用和启用Android中活动的方向更改

我有一个应用程序,使一些后台人员。 当后台工作正在运行一个进度的时候,如果设备在这段时间内被旋转了,那么活动就会“重置”,我想避免这种情况。 出于这个原因,我决定在这个过程中禁用定位。 我已经看到这个问题differends线程,但没有一个有效的解决scheme,至less在我的情况。 发布的解决scheme是关于修复活动方向,但是如果您使用以下操作,则必须处理REVERSE方向未返回的事实: getResources().getConfiguration().orientation 上面的函数返回SCREEN_ORIENTATION_PORTRAIT对于PORTRAIT和REVERSE_PORTRAIT情况(至less在我的testing中)。 所以最后我用旋转值来处理,所以我的代码“禁用旋转”是: int rotation = getWindowManager().getDefaultDisplay().getRotation(); switch(rotation) { case Surface.ROTATION_180: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT); break; case Surface.ROTATION_270: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE); break; case Surface.ROTATION_0: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); break; case Surface.ROTATION_90: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); break; } 再次允许方向: setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); 这在Android 4.1.2的设备中是完美的,但是在Android 4.2.1的设备中,它并不像预期的那样工作。 我想在活动周期中pipe理轮换应该是一个常见问题,但是我一直没有find合适的解决scheme。 可能是我正在寻找错误的方向,所以任何帮助真的很受欢迎。 在此先感谢,伊万。

设置Android照片EXIF方向

我写了一个Android活动,以编程方式捕获照片。 我想用正确的EXIF方向数据将图像保存为JPEG格式(就像原生Android Camera应用程序自动执行一样)。 这里是实际拍摄照片的方法(我删除了try / catch块): private void takePhoto() { camera = Camera.open(); SurfaceTexture dummySurfaceTexture = new SurfaceTexture(0); camera.setPreviewTexture(dummySurfaceTexture); camera.startPreview(); camera.takePicture(null, null, jpgCallback); } …和callback: private Camera.PictureCallback jpgCallback = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { releaseCamera(); savePhoto(data); }; 照片拍摄正确,但我的问题是,EXIF数据显示方向设置为“图像方向:顶部,左手”,无论设备的方向如何,所以当我上传照片时,它看起来倒过来或旋转。 我是否真的需要手动捕捉设备方向(滚动,俯仰,方位angular)并自己写EXIF方向? 相机应用程序如何自动正确地写入这些数据? 有谁知道正确设置此属性的方法吗? 编辑:我不能使用屏幕方向作为活动被locking到肖像模式。

EditText如何在电话方向改变时保留它的值而不是textview?

Edittext有什么特别的地方,它可以保留这个值而不是Textview和其他一些小部件,我们必须为它们使用onSavedInstance()方法。 EditText的特殊之处在于它可以保留这些值吗? 如果有人可以说出它是如何工作的。 <—- —-更新> 它如何在内部工作,请指出解释这种情况的那部分代码。

Orientation更改了事件或监听器Android

是否有任何事件或听众在定向时间发生改变? 或者,如何发现手机的方向改变了? 谢谢

android:screenOrientation =“sensorPortrait”无效?

我需要限制我的应用程序以纵向模式显示。 使用android:screenOrientation =“肖像”效果很好,但我希望有显示器更改为在设备旋转时反转肖像。 使用android:screenOrientation =“sensorPortrait”会导致编译错误。 有趣的是,如果我使用“sensorLandscape”,它编译好,但它不是我所需要的。 我正在使用Android 2.3.3的Eclipse v 3.7.2 有任何想法吗??? 感谢Rob