簡體   English   中英

如何復制 Android 的股票相機方向變化

[英]How to replicate Androids stock camera orientation change

我有三星 Edge、API 24、Android 7.0 和三星平板電腦、API 24、Android 7.0。

如果您不想了解背景故事,請跳過此塊引用部分:

我想重新創建庫存相機並將其實現到我的應用程序中。 我實際上非常接近完成它(使用 Xamarin.Android + C#),使用Google Camera SampleXamarin 版本

然而,仍然存在方向問題...... 180° 旋轉(橫向 -> 反向陸地空間或反之亦然)不會觸發“SurfaceChanged”事件,該事件用於設置表面的矩陣以使其正確顯示。

我見過不同的方法,一種似乎很穩定:將方向固定為橫向並自己處理方向。

查看我的兩個設備的庫存相機,我看到相機預覽從不移動一點,只有按鈕旋轉 + 活動(狀態欄在方向改變時移動到頂部)如何實現這種行為?

一個抽象的想法,或者 Java 或 C# 中的代碼片段會很好。

修復開始時的活動方向(例如,在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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM