簡體   English   中英

在橫向和縱向模式下檢測方向

[英]Detect orientation in reverse landscape and portrait mode

我想檢測反向的橫向和縱向。 配置不支持ORIENTATION_REVERSE_LANDSCAPEORIENTATION_REVERSE_PORTRAIT

我也嘗試過Activityinfo.ORIENTATION_REVERSE_PORTRAIT但是它也沒有用。請幫助我。

if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){

    Log.e("On Config Change","LANDSCAPE");
}else{

    Log.e("On Config Change","PORTRAIT");
}

我發現,如果您的設備具有磁力計,則可以使用SensorManager方法getRotationMatrix()getOrientation()計算設備的旋轉姿態(方位角,俯仰角和橫滾角)來區分橫向和反向橫向。 如果橫滾為正,則您處於反向風景(右側風景),如果橫搖為負,則您處於風景(左側風景)。

同樣,您可以使用音高區分縱向和反向縱向。 如果螺距為正,則表示為縱向;如果螺距為負,則表示為縱向。

如果您的設備沒有磁力計,則可以使用加速度計的x軸和y軸值區分橫向和反向橫向。 x軸負值表示橫向風景(右側風景),正值表示風景。 類似地,負y軸值表示反向肖像,而正y軸值表示肖像。

暫無
暫無

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

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