• Stars
    star
    571
  • Rank 78,127 (Top 2 %)
  • Language
    Java
  • License
    MIT License
  • Created about 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android Camera Library For Square Photo Taking

SquareCamera

Android Arsenal

Description

Android module that takes a square photo using the native Android Camera APIs. The new Camera2 APIs from the L release is not used because support has to go back to SDK version 14 for my own requirement.

Features

  • Tap to focus
  • Two fingers zooming
  • Front & Back camera
  • Flash mode (Saved when the user exits)
  • Supports both portrait & landscape
  • Runtime permission is supported for saving/viewing photos

SDK Support

Support from SDK version 14 onwards

Download

jCenter:

repositories {
    jcenter()
}

dependencies {
    compile 'com.github.boxme:squarecamera:1.1.0'
}

Example

private static final int REQUEST_CAMERA = 0;

// Check for camera permission in MashMallow
public void requestForCameraPermission(View view) {
    final String permission = Manifest.permission.CAMERA;
    if (ContextCompat.checkSelfPermission(MainActivity.this, permission)
            != PackageManager.PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, permission)) {
            // Show permission rationale
        } else {
            // Handle the result in Activity#onRequestPermissionResult(int, String[], int[])
            ActivityCompat.requestPermissions(YourActivity.this, new String[]{permission}, REQUEST_CAMERA_PERMISSION);
        }
    } else {
        // Start CameraActivity
    }
}

// Start CameraActivity
Intent startCustomCameraIntent = new Intent(this, CameraActivity.class);
startActivityForResult(startCustomCameraIntent, REQUEST_CAMERA);

// Receive Uri of saved square photo
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != RESULT_OK) return;

    if (requestCode == REQUEST_CAMERA) {
        Uri photoUri = data.getData();
    }
    super.onActivityResult(requestCode, resultCode, data);
}

Video Demo

Link: https://youtu.be/cSGFiP-gZYU