0

如何将onOrientationChanged方法orientation值转换为横向和纵向以了解设备方向。

每当设备方向发生变化时,我都会调用以下函数。
public void onOrientationChanged(int orientation)

该参数orientation介于 0 到 359 之间。
那么,如果设备处于横向模式或纵向模式,我如何才能从这些值中知道呢?

4

2 回答 2

1

你可以通过使用这个来获得方向

if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT)
{
  // do your stuff          
}
else
{
   // do your stuff         
}
于 2013-08-06T07:49:28.570 回答
0

您可以使用以下代码在运行时获取方向:

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
//orientation will contain Surface.ROTATION_0 (no rotation), Surface.ROTATION_90, Surface.ROTATION_180 or Surface.ROTATION_270
int orientation = display.getRotation();

所以,如果你想在改变方向时做点什么,你可以覆盖这个onConfigurationChanged方法。

如果您想在运行时更改方向,您可以使用它(例如,更改为纵向):

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

如果需要更多详细信息,请阅读

于 2013-08-06T08:09:19.490 回答