如何知道屏幕的方向是左横、右横、倒立、正立,而不是简单的横屏竖屏这么简单。我目前正在做一个指南针的livewallpaper。但是发现在屏幕切换方向时,指南针就会出错,且是有规律的,右横偏270度,倒立偏180度,左横偏90度。显然是屏幕方向改变造成的。奇怪的是,当我的屏幕方向改变时,我的背景图片会自动切换方向,但是我的指针却不会,估计原因是因为它的方向由转动决定。所以想问问大家有什么好的解决方案!谢谢了~

解决方案 »

  1.   

    public void onCreate() {    
        if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {    
            Log.i("info", "landscape");    
        } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {    
            Log.i("info", "portrait");    
        }    
    }   
      

  2.   

    相机里有段类似的源码,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;
        }