如何复制机器人相机方向的变化

时间:2018-02-07 10:52:39

标签: java c# android camera surface

我有三星Edge,API 24,Android 7.0和三星平板电脑,API 24,Android 7.0。

如果您不想了解背景故事,请跳过此blockquote部分:

  

我想重新创建相机并将其实施到我的应用中。我   实际上非常接近完成它(使用Xamarin.Android +   C#),使用Xamarin Version of the Google Camera Sample

     

但是还有定向问题...... 180°旋转   (横向 - >反向地形空间,反之亦然)不会触发   “SurfaceChanged”事件,用于设置曲面的矩阵   使其正确显示。

     

我见过不同的方法,一个似乎很稳定:修正方向   自己景观和处理方向。

看着我的两个设备的照相机,我看到相机预览从未移动过一点,只有按钮旋转+活动(状态栏在方向改变时移动到顶部) 怎么可能实现这种行为?

抽象的想法,或Java或C#中的代码片段会很好。

1 个答案:

答案 0 :(得分:2)

在开始时修复活动方向(例如,在onResume方法内):

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

AndroidManifest.xml中指定您希望活动收听方向更改:

<activity
    android:configChanges="keyboardHidden|orientation|screenSize"
    ...

然后处理活动内的方向变化:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    // rotate buttons using newConfig.orientation value
}