android.content.pm.ActivityInfo#SCREEN_ORIENTATION_REVERSE_PORTRAIT源码实例Demo

下面列出了android.content.pm.ActivityInfo#SCREEN_ORIENTATION_REVERSE_PORTRAIT 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Camera2   文件: OrientationManagerImpl.java
private int calculateCurrentScreenOrientation()
{
    int displayRotation = getDisplayRotation(mActivity);
    // Display rotation >= 180 means we need to use the REVERSE landscape/portrait
    boolean standard = displayRotation < 180;
    if (mActivity.getResources().getConfiguration().orientation
            == Configuration.ORIENTATION_LANDSCAPE)
    {
        return standard
                ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
                : ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
    } else
    {
        if (displayRotation == 90 || displayRotation == 270)
        {
            // If displayRotation = 90 or 270 then we are on a landscape
            // device. On landscape devices, portrait is a 90 degree
            // clockwise rotation from landscape, so we need
            // to flip which portrait we pick as display rotation is counter clockwise
            standard = !standard;
        }
        return standard
                ? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
                : ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
    }
}
 
源代码2 项目: barcodescanner-lib-aar   文件: CaptureActivity.java
private int getCurrentOrientation() {
  int rotation = getWindowManager().getDefaultDisplay().getRotation();
  if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    switch (rotation) {
      case Surface.ROTATION_0:
      case Surface.ROTATION_90:
        return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
      default:
        return ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
    }
  } else {
    switch (rotation) {
      case Surface.ROTATION_0:
      case Surface.ROTATION_270:
        return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
      default:
        return ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
    }
  }
}
 
源代码3 项目: CodeScaner   文件: CaptureActivity.java
private int getCurrentOrientation() {
    int rotation = getWindowManager().getDefaultDisplay().getRotation();
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        switch (rotation) {
            case Surface.ROTATION_0:
            case Surface.ROTATION_90:
                return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            default:
                return ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
        }
    } else {
        switch (rotation) {
            case Surface.ROTATION_0:
            case Surface.ROTATION_270:
                return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
            default:
                return ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
        }
    }
}
 
源代码4 项目: fullscreen-video-view   文件: CustomChecks.java
@Override
public void perform(UiController uiController, View view) {
    uiController.loopMainThreadUntilIdle();
    int orientation = getActivityOrientation(view);
    boolean checkOrientation = false;
    switch (orientationType) {
        case PORTRAIT:
            checkOrientation = orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
                    || orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT
                    || orientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT
                    || orientation == ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT;
            break;

        case LANDSCAPE:
            checkOrientation = orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
                    || orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE
                    || orientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE
                    || orientation == ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE;
            break;
    }

    if (checkOrientation) {
        isOrientation[0] = true;
    }
}
 
源代码5 项目: Study_Android_Demo   文件: CaptureActivity.java
private int getCurrentOrientation() {
  int rotation = getWindowManager().getDefaultDisplay().getRotation();
  if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    switch (rotation) {
      case Surface.ROTATION_0:
      case Surface.ROTATION_90:
        return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
      default:
        return ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
    }
  } else {
    switch (rotation) {
      case Surface.ROTATION_0:
      case Surface.ROTATION_270:
        return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
      default:
        return ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
    }
  }
}
 
private int getCurrentOrientation() {
  int rotation = getWindowManager().getDefaultDisplay().getRotation();
  if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    switch (rotation) {
      case Surface.ROTATION_0:
      case Surface.ROTATION_90:
        return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
      default:
        return ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
    }
  } else {
    switch (rotation) {
      case Surface.ROTATION_0:
      case Surface.ROTATION_270:
        return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
      default:
        return ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
    }
  }
}
 
private int getCurrentOrientation() {
	int rotation = getWindowManager().getDefaultDisplay().getRotation();
	if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
		switch (rotation) {
		case Surface.ROTATION_0:
		case Surface.ROTATION_90:
			return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
		default:
			return ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
		}
	} else {
		switch (rotation) {
		case Surface.ROTATION_0:
		case Surface.ROTATION_270:
			return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
		default:
			return ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
		}
	}
}
 
public void lock() {

    int orientation;
    int rotation = windowManager.getDefaultDisplay()
        .getRotation();
    switch (rotation) {
      default:
      case Surface.ROTATION_0:
        orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        break;
      case Surface.ROTATION_90:
        orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        break;
      case Surface.ROTATION_180:
        orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
        break;
      case Surface.ROTATION_270:
        orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
        break;
    }

    activity.setRequestedOrientation(orientation);
  }
 
源代码9 项目: simpleSDL   文件: SDLActivity.java
/**
 * This can be overridden
 */
public void setOrientationBis(int w, int h, boolean resizable, String hint) 
{
    int orientation = -1;

    if (hint.contains("LandscapeRight") && hint.contains("LandscapeLeft")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
    } else if (hint.contains("LandscapeRight")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
    } else if (hint.contains("LandscapeLeft")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
    } else if (hint.contains("Portrait") && hint.contains("PortraitUpsideDown")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
    } else if (hint.contains("Portrait")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
    } else if (hint.contains("PortraitUpsideDown")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
    }

    /* no valid hint */
    if (orientation == -1) {
        if (resizable) {
            /* no fixed orientation */
        } else {
            if (w > h) {
                orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
            } else {
                orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
            }
        }
    }

    Log.v("SDL", "setOrientation() orientation=" + orientation + " width=" + w +" height="+ h +" resizable=" + resizable + " hint=" + hint);
    if (orientation != -1) {
        mSingleton.setRequestedOrientation(orientation);
    }
}
 
源代码10 项目: Pocket-Plays-for-Twitch   文件: StreamActivity.java
@Override
public void onResume() {
	super.onResume();
	if (getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) {
		Log.d(LOG_TAG, "Orientations is reverse portrait");
	}

	Log.d(LOG_TAG, "Current orientation: " + getResources().getConfiguration().orientation);
}
 
源代码11 项目: TurboLauncher   文件: Launcher.java
private int mapConfigurationOriActivityInfoOri(int configOri) {
	final Display d = getWindowManager().getDefaultDisplay();
	int naturalOri = Configuration.ORIENTATION_LANDSCAPE;
	switch (d.getRotation()) {
	case Surface.ROTATION_0:
	case Surface.ROTATION_180:
		// We are currently in the same basic orientation as the natural
		// orientation
		naturalOri = configOri;
		break;
	case Surface.ROTATION_90:
	case Surface.ROTATION_270:
		// We are currently in the other basic orientation to the natural
		// orientation
		naturalOri = (configOri == Configuration.ORIENTATION_LANDSCAPE) ? Configuration.ORIENTATION_PORTRAIT
				: Configuration.ORIENTATION_LANDSCAPE;
		break;
	}

	int[] oriMap = { ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,
			ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE,
			ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT,
			ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE };
	// Since the map starts at portrait, we need to offset if this device's
	// natural orientation
	// is landscape.
	int indexOffset = 0;
	if (naturalOri == Configuration.ORIENTATION_LANDSCAPE) {
		indexOffset = 1;
	}
	return oriMap[(d.getRotation() + indexOffset) % 4];
}
 
源代码12 项目: android-port   文件: SDLActivity.java
/**
 * This can be overridden
 */
public void setOrientationBis(int w, int h, boolean resizable, String hint) 
{
    int orientation = -1;

    if (hint.contains("LandscapeRight") && hint.contains("LandscapeLeft")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
    } else if (hint.contains("LandscapeRight")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
    } else if (hint.contains("LandscapeLeft")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
    } else if (hint.contains("Portrait") && hint.contains("PortraitUpsideDown")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
    } else if (hint.contains("Portrait")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
    } else if (hint.contains("PortraitUpsideDown")) {
        orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
    }

    /* no valid hint */
    if (orientation == -1) {
        if (resizable) {
            /* no fixed orientation */
        } else {
            if (w > h) {
                orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
            } else {
                orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
            }
        }
    }

    Log.v("SDL", "setOrientation() orientation=" + orientation + " width=" + w +" height="+ h +" resizable=" + resizable + " hint=" + hint);
    if (orientation != -1) {
        mSingleton.setRequestedOrientation(orientation);
    }
}
 
源代码13 项目: Taskbar   文件: U.java
@SuppressLint("SwitchIntDef")
private static ApplicationType getApplicationType(Context context, AppEntry entry) {
    if(isGame(context, entry.getPackageName()))
        return ApplicationType.APP_FULLSCREEN;

    try {
        ActivityInfo info = context.getPackageManager().getActivityInfo(
                ComponentName.unflattenFromString(entry.getComponentName()),
                0
        );

        switch(info.screenOrientation) {
            case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
            case ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE:
            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:
            case ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE:
                return ApplicationType.APP_LANDSCAPE;

            case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
            case ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT:
            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:
            case ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT:
                return ApplicationType.APP_PORTRAIT;
        }
    } catch (PackageManager.NameNotFoundException e) { /* Gracefully fail */ }

    return context.getPackageName().equals(BuildConfig.ANDROIDX86_APPLICATION_ID)
            ? ApplicationType.APP_LANDSCAPE
            : ApplicationType.APP_PORTRAIT;
}
 
源代码14 项目: FloatWindow   文件: RotateUtil.java
@Override
public void onSensorChanged(SensorEvent event) {

    float[] values = event.values;
    int orientation = ORIENTATION_UNKNOWN;
    float X = -values[DATA_X];
    float Y = -values[DATA_Y];
    float Z = -values[DATA_Z];
    float magnitude = X * X + Y * Y;
    // Don't trust the angle if the magnitude is small compared to the y
    // value
    if (magnitude * 4 >= Z * Z) {
        // 屏幕旋转时
        float OneEightyOverPi = 57.29577957855f;
        float angle = (float) Math.atan2(-Y, X) * OneEightyOverPi;
        orientation = 90 - Math.round(angle);
        // normalize to 0 - 359 range
        while (orientation >= 360) {
            orientation -= 360;
        }
        while (orientation < 0) {
            orientation += 360;
        }
    }

    //竖屏
    if (screenIsPortrait(orientation)) {
        //上次非竖屏,屏幕旋转
        if (!isLastLandscape) {
            isChangeOrientation = true;
            if (FwContent.isDebug) {
                L.v("onSensorChanged: 横屏 ----> 竖屏");
            }
        } else {
            isChangeOrientation = false;
            if (FwContent.isDebug) {
                L.v("onSensorChanged: 竖屏 ----> 竖屏");
            }
        }
        isLastLandscape = true;
        // 横屏处理
    } else if (screenIsLandscape(orientation)) {
        //上次竖屏,屏幕旋转
        if (isLastLandscape) {
            isChangeOrientation = true;
            if (FwContent.isDebug) {
                L.v("onSensorChanged: 竖屏 ---->横屏");
            }
        } else {
            isChangeOrientation = false;
            if (FwContent.isDebug) {
                L.v("onSensorChanged: 横屏 ----> 横屏");
            }
        }
        isLastLandscape = false;
    }

    // 页面变化,回调
    if (isChangeOrientation) {
        mSensorRotateChanged.onRotateChanged();
        isChangeOrientation = false;
    }

    // 不拦截时,对应页面也可以收到页面的改变

    if (!isInterrupt && mActivityRef != null && mActivityRef.get() != null) {
        // 根据手机屏幕的朝向角度,来设置内容的横竖屏,并且记录状态
        int requestedOrientation = 0;

        if (orientation > 45 && orientation < 135) {
            requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
        } else if (orientation > 135 && orientation < 225) {
            requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
        } else if (orientation > 225 && orientation < 315) {
            requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        } else if ((orientation > 315 && orientation < 360) || (orientation > 0 && orientation < 45)) {
            requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        }
        // 接收重力感应监听的结果,来改变屏幕朝向
        mActivityRef.get().setRequestedOrientation(requestedOrientation);
    }
}
 
源代码15 项目: 365browser   文件: ScreenOrientationProvider.java
private static int getOrientationFromWebScreenOrientations(byte orientation,
        @Nullable WindowAndroid window, Context context) {
    switch (orientation) {
        case ScreenOrientationValues.DEFAULT:
            return ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
        case ScreenOrientationValues.PORTRAIT_PRIMARY:
            return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        case ScreenOrientationValues.PORTRAIT_SECONDARY:
            return ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
        case ScreenOrientationValues.LANDSCAPE_PRIMARY:
            return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        case ScreenOrientationValues.LANDSCAPE_SECONDARY:
            return ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
        case ScreenOrientationValues.PORTRAIT:
            return ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
        case ScreenOrientationValues.LANDSCAPE:
            return ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
        case ScreenOrientationValues.ANY:
            return ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR;
        case ScreenOrientationValues.NATURAL:
            // If the tab is being reparented, we don't have a display strongly associated with
            // it, so we get the default display.
            DisplayAndroid displayAndroid = (window != null) ? window.getDisplay()
                    : DisplayAndroid.getNonMultiDisplay(context);
            int rotation = displayAndroid.getRotation();
            if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) {
                if (displayAndroid.getDisplayHeight() >= displayAndroid.getDisplayWidth()) {
                    return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                }
                return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            } else {
                if (displayAndroid.getDisplayHeight() < displayAndroid.getDisplayWidth()) {
                    return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                }
                return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            }
        default:
            Log.w(TAG, "Trying to lock to unsupported orientation!");
            return ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
    }
}
 
源代码16 项目: DanDanPlayForAndroid   文件: WindowUtils.java
/**
 * 获取界面方向
 */
public static int getScreenOrientation(Activity activity) {
    int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
    DisplayMetrics dm = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width = dm.widthPixels;
    int height = dm.heightPixels;
    int orientation;
    // if the device's natural orientation is portrait:
    if ((rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) && height > width ||
            (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) && width > height) {
        switch (rotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_180:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            case Surface.ROTATION_270:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
        }
    }
    // if the device's natural orientation is landscape or if the device
    // is square:
    else {
        switch (rotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_180:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            case Surface.ROTATION_270:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
        }
    }

    return orientation;
}
 
源代码17 项目: MD   文件: CustomMediaContoller.java
public int getScreenOrientation(Activity activity) {
    int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
    DisplayMetrics dm = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width = dm.widthPixels;
    int height = dm.heightPixels;
    int orientation;
    // if the device's natural orientation is portrait:
    if ((rotation == Surface.ROTATION_0
            || rotation == Surface.ROTATION_180) && height > width ||
            (rotation == Surface.ROTATION_90
                    || rotation == Surface.ROTATION_270) && width > height) {
        switch (rotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_180:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            case Surface.ROTATION_270:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
        }
    }
    // if the device's natural orientation is landscape or if the device
    // is square:
    else {
        switch (rotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_180:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            case Surface.ROTATION_270:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
        }
    }

    return orientation;
}
 
源代码18 项目: ZZShow   文件: CustomMediaController.java
public int getScreenOrientation(Activity activity){
    int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
    DisplayMetrics dm = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width = dm.widthPixels;
    int height = dm.heightPixels;
    int orientation;
    // if the device's natural orientation is portrait:
    if((rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180)
            && height > width
            || (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270)
            && width > height){
        switch (rotation){
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_180:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            case Surface.ROTATION_270:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
        }
    }
    // if the device's natural orientation is landscape or if the device
    // is square:
    else{
        switch (rotation){
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_180:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            case Surface.ROTATION_270:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
        }
    }
    return orientation;
}
 
源代码19 项目: HeroVideo-master   文件: MediaPlayer.java
private int getScreenOrientation() {
    int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
    DisplayMetrics dm = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width = dm.widthPixels;
    int height = dm.heightPixels;
    int orientation;
    // if the device's natural orientation is portrait:
    if ((rotation == Surface.ROTATION_0
            || rotation == Surface.ROTATION_180) && height > width ||
            (rotation == Surface.ROTATION_90
                    || rotation == Surface.ROTATION_270) && width > height) {
        switch (rotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_180:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            case Surface.ROTATION_270:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
        }
    }
    // if the device's natural orientation is landscape or if the device
    // is square:
    else {
        switch (rotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_180:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
            case Surface.ROTATION_270:
                orientation =
                        ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            default:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
        }
    }

    return orientation;
}
 
源代码20 项目: VCL-Android   文件: VideoPlayerActivity.java
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
private int getScreenOrientation(){
    WindowManager wm = (WindowManager) VLCApplication.getAppContext().getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    int rot = getScreenRotation();
    /*
     * Since getRotation() returns the screen's "natural" orientation,
     * which is not guaranteed to be SCREEN_ORIENTATION_PORTRAIT,
     * we have to invert the SCREEN_ORIENTATION value if it is "naturally"
     * landscape.
     */
    @SuppressWarnings("deprecation")
    boolean defaultWide = display.getWidth() > display.getHeight();
    if(rot == Surface.ROTATION_90 || rot == Surface.ROTATION_270)
        defaultWide = !defaultWide;
    if(defaultWide) {
        switch (rot) {
        case Surface.ROTATION_0:
            return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        case Surface.ROTATION_90:
            return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        case Surface.ROTATION_180:
            // SCREEN_ORIENTATION_REVERSE_PORTRAIT only available since API
            // Level 9+
            return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ? ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE
                    : ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        case Surface.ROTATION_270:
            // SCREEN_ORIENTATION_REVERSE_LANDSCAPE only available since API
            // Level 9+
            return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ? ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT
                    : ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        default:
            return 0;
        }
    } else {
        switch (rot) {
        case Surface.ROTATION_0:
            return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        case Surface.ROTATION_90:
            return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        case Surface.ROTATION_180:
            // SCREEN_ORIENTATION_REVERSE_PORTRAIT only available since API
            // Level 9+
            return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ? ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT
                    : ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        case Surface.ROTATION_270:
            // SCREEN_ORIENTATION_REVERSE_LANDSCAPE only available since API
            // Level 9+
            return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ? ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE
                    : ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        default:
            return 0;
        }
    }
}