!怎么知道屏幕的方向是左横、右横、倒立、正立
求助!!!!!如何知道屏幕的方向是左横、右横、倒立、正立?
如何知道屏幕的方向是左横、右横、倒立、正立,而不是简单的横屏竖屏这么简单。我目前正在做一个指南针的livewallpaper。但是发现在屏幕切换方向时,指南针就会出错,且是有规律的,右横偏270度,倒立偏180度,左横偏90度。显然是屏幕方向改变造成的。奇怪的是,当我的屏幕方向改变时,我的背景图片会自动切换方向,但是我的指针却不会,估计原因是因为它的方向由转动决定。所以想问问大家有什么好的解决方案!谢谢了~
------解决方案--------------------
使用传感器~
------解决方案--------------------
相机里有段类似的源码,lz试试看好使不:
public static int getDisplayRotation(Activity activity) {
int rotation = activity.getWindowManager().getDefaultDisplay()
.getRotation();
switch (rotation) {
case Surface.ROTATION_0: return 0;
case Surface.ROTATION_90: return 90;
case Surface.ROTATION_180: return 180;
case Surface.ROTATION_270: return 270;
}
return 0;
}
如何知道屏幕的方向是左横、右横、倒立、正立,而不是简单的横屏竖屏这么简单。我目前正在做一个指南针的livewallpaper。但是发现在屏幕切换方向时,指南针就会出错,且是有规律的,右横偏270度,倒立偏180度,左横偏90度。显然是屏幕方向改变造成的。奇怪的是,当我的屏幕方向改变时,我的背景图片会自动切换方向,但是我的指针却不会,估计原因是因为它的方向由转动决定。所以想问问大家有什么好的解决方案!谢谢了~
------解决方案--------------------
使用传感器~
------解决方案--------------------
相机里有段类似的源码,lz试试看好使不:
public static int getDisplayRotation(Activity activity) {
int rotation = activity.getWindowManager().getDefaultDisplay()
.getRotation();
switch (rotation) {
case Surface.ROTATION_0: return 0;
case Surface.ROTATION_90: return 90;
case Surface.ROTATION_180: return 180;
case Surface.ROTATION_270: return 270;
}
return 0;
}