2.1设置相机展示方向

public static void setCameraDisplayOrientation(Activity activity,int cameraId, android.hardware.Camera camera) {
    android.hardware.Camera.CameraInfo info =
            new android.hardware.Camera.CameraInfo();
    android.hardware.Camera.getCameraInfo(cameraId, info);
    int rotation = activity.getWindowManager().getDefaultDisplay()
            .getRotation();
    int degrees = 0;
    switch (rotation) {
        case Surface.ROTATION_0: degrees = 0; break;
        case Surface.ROTATION_90: degrees = 90; break;
        case Surface.ROTATION_180: degrees = 180; break;
        case Surface.ROTATION_270: degrees = 270; break;
    }

    int result;
    if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
        result = (info.orientation + degrees) % 360;
        result = (360 - result) % 360;  // compensate the mirror
    } else {  // back-facing
        result = (info.orientation - degrees + 360) % 360;
    }
    camera.setDisplayOrientation(result);
}

2.2 得到合适的预览尺寸

private List getSupportedPictureSizes(Camera.Parameters parameters) {
    if (parameters == null) {
        return null;
    }
    if (mPictureSizeList == null) {
        mPictureSizeList = new ArrayList<>();
    } else {
        mPictureSizeList.clear();
    }
    mSupportedPicSizeList = new ArrayList<>();
    for (Camera.Size size : parameters.getSupportedPictureSizes()) {
        if(equalsRate(size, 1.777f)) {
            mSupportedPicSizeList.add(size);
        }
    }
    for (Camera.Size size : mSupportedPicSizeList) {
        mPictureSizeList.add(size.width + "×" + size.height);
    }
    return mSupportedPicSizeList;
}

2.3 设置全屏显示

private void setFullScreen() {
    int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;
    getWindow().setFlags(flag,flag);
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

2.4判断是平板OR手机

public static boolean isTablet(Context context) {

return (context.getResources().getConfiguration().screenLayout

 & Configuration.SCREENLAYOUT_SIZE_MASK)

>= Configuration.SCREENLAYOUT_SIZE_LARGE;

}

更多相关文章

  1. Android Studio平板模拟器横屏竖屏调整
  2. 部分 CM11 系统 Android 平板执行植物大战僵尸 2 黑屏的解决的方
  3. Google Docs for Android 应用改进平板使用体验
  4. Android 平板电脑设计
  5. Android的设计尺寸
  6. 利用 RDP Wrapper 实现 Android 平板变身 Windows 平板
  7. Android 平板电脑的判断方法

随机推荐

  1. JSP request(return String)用法详例
  2. PHP sdk文档处理常用代码示例解析
  3. 插画用PS怎么画?ps画插画的步骤
  4. JSP request(return String)用法详例
  5. PHP如何解决微信文章图片防盗链
  6. JSP request(return String)用法详例
  7. 常用函数类型与常用数据类型的学习
  8. 1. 实例演示常用函数类型 2.实例演示常用
  9. javascript-基础(一)
  10. 实例演示函数参数与返回值