如何将onOrientationChanged方法orientation
值转换为横向和纵向以了解设备方向。
每当设备方向发生变化时,我都会调用以下函数。
public void onOrientationChanged(int orientation)
该参数orientation
介于 0 到 359 之间。
那么,如果设备处于横向模式或纵向模式,我如何才能从这些值中知道呢?
如何将onOrientationChanged方法orientation
值转换为横向和纵向以了解设备方向。
每当设备方向发生变化时,我都会调用以下函数。
public void onOrientationChanged(int orientation)
该参数orientation
介于 0 到 359 之间。
那么,如果设备处于横向模式或纵向模式,我如何才能从这些值中知道呢?
你可以通过使用这个来获得方向
if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT)
{
// do your stuff
}
else
{
// do your stuff
}
您可以使用以下代码在运行时获取方向:
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);
如果需要更多详细信息,请阅读此