sto*_*fln 6 android android-layout
我正在构建一个使用相机预览的相机应用程序.为了使用全屏进行预览,我锁定了活动
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
现在我遇到了以下问题:每当我渲染一个表单或者我必须显示一个对话框时,它总是以横向模式显示,即使用户在纵向模式下使用他/她的设备也是如此.我试图通过使用变换动画来旋转edittext视图,并且它们被正确旋转,但我仍然无法再将它们聚焦,并且键盘也始终显示在横向中:(
你知道在这里寻找方法吗?
重要提示:检测方向不是问题所在.问题是:如何以仍然可用的方式旋转表单/视图/视图组和键盘.
我知道它必须以某种方式成为可能:三星的相机应用程序(它与星系S3一起提供)能够在不旋转预览的情况下旋转视图,因此它必须是可能的!看到:
http://www.letsgomobile.org/images/reviews/0186/galaxy-s3-camera.jpg
三星相机应用程序使用带有方向传感器的方向更改侦听器。如果用户从设置中阻止设备旋转,旋转仍然会发生。
您将需要创建完整的自定义小部件,因此您不能使用对话框中的构建,您必须显示一个自定义对话框....
基本思想是使用OrientationEventListener和SensorManager。在设备旋转上,您必须更新 UI 并使用新方向旋转视图。这是有关使用 OrientationEventListener 的教程如何使用 OrientationEventListener 在大多数相机应用程序上,该活动在 LANDSCAPE 上仍然被阻止。所有相机应用程序都使用此技巧来简化处理 SurfaceView 尺寸随旋转变化的过程。
| 归档时间: |
|
| 查看次数: |
2194 次 |
| 最近记录: |