1

我想检测反向横向和纵向。配置不支持 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");
}
4

1 回答 1

1

SensorManager我发现如果你的设备有一个磁力计,你可以通过计算设备的旋转姿态(方位角、俯仰角和滚动)来区分横向和反向getRotationMatrix()横向getOrientation()。如果滚动为正,则您处于反向横向(横向右侧),如果滚动为负,您处于横向(左侧横向)。

同样,您可以使用音高来区分纵向和反向纵向。如果音高为正,则您处于反向纵向,如果音高为负,则您处于纵向。

如果您的设备没有磁力计,您可以使用加速度计的 x 轴和 y 轴值来区分横向和反向横向。x 轴值为负表示反向横向(横向右),正值表示横向。类似地,负的 y 轴值表示反向纵向,正的 y 轴值表示纵向。

于 2014-04-06T17:21:08.730 回答