簡體   English   中英

如何為相機設置android:screenOrientation =“ portrait”

[英]How to set android:screenOrientation=“portrait” for Camera

我正在使用Samsung Galaxy Note運行phonegap應用程序。 拍照時,可以看到屏幕在進入相機之前旋轉。 如何禁用此功能?

我試圖在主線程和相機活動上都強制使用縱向方向,但是這些似乎不起作用:

<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:debuggable="true">
    <activity android:name=".App" android:windowSoftInputMode="adjustPan" android:screenOrientation="portrait"
              android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" 
              android:configChanges="orientation|keyboardHidden">
        <intent-filter>
        </intent-filter>
    </activity>
    <activity android:name="com.android.camera.Camera"
            android:screenOrientation="portrait">
    </activity>
</application>

您需要在清單上添加權限:

<uses-feature android:name="android.hardware.screen.portrait" />

Balise用途的Doc Android

例如,如果您的應用程序要求縱向設置,則應聲明<uses-feature android:name="android.hardware.screen.portrait"/>以便只有支持縱向設置的設備(無論是始終使用還是通過用戶選擇)都可以安裝您的應用。 如果您的應用程序同時支持這兩種方向,則無需聲明任何一種。

你怎么拍照? 如果發送意向啟動相機應用程序,則您將失去方向更改的控制權。 還要注意,在進入睡眠狀態並鎖定屏幕啟動器之前,您的應用程序會以設置或替代方法的對接方式進入縱向。 很可能您不能這樣做,並且其他設備上的行為可能有所不同。

這里有兩件事要考慮。 首先,這個

android:screenOrientation="landscape"

如果在Java代碼中有以下內容,則無效:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

然后,還有另一種方法可能會困擾您:

mCamera.setDisplayOrientation(90);

這將旋轉您的相機預覽。

希望這可以幫助!

使用android:configChanges="orientation|keyboardHidden"將屏幕設置為縱向。

暫無
暫無

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

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