pull/421/head
Giacomo Randazzo 7 years ago
parent d0c4100088
commit 9f58d642b7
  1. 8
      cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java
  2. 2
      cameraview/src/main/java/com/otaliastudios/cameraview/OverlayLayout.java
  3. 6
      demo/src/main/java/com/otaliastudios/cameraview/demo/CameraActivity.java
  4. 1
      demo/src/main/res/layout/activity_camera.xml

@ -1711,6 +1711,14 @@ public class CameraView extends FrameLayout implements LifecycleObserver {
return mCameraController.getDisableOverlayFor();
}
/**
* Force the overlay to be redrawn.
*/
public void invalidateOverlay() {
if (mPreviewOverlayLayout != null) {
mPreviewOverlayLayout.postInvalidate();
}
}
//endregion
//region Callbacks and dispatching

@ -4,6 +4,7 @@ import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.util.AttributeSet;
import android.view.Surface;
import android.view.View;
@ -36,6 +37,7 @@ public class OverlayLayout extends FrameLayout {
float xScale = surfaceCanvas.getWidth() / (float) canvas.getWidth();
surfaceCanvas.scale(xScale, xScale);
surfaceCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
super.draw(surfaceCanvas);
outputSurface.unlockCanvasAndPost(surfaceCanvas);

@ -10,6 +10,7 @@ import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.TextView;
import android.widget.Toast;
import com.otaliastudios.cameraview.CameraException;
@ -180,12 +181,17 @@ public class CameraActivity extends AppCompatActivity implements View.OnClickLis
private void toggleCamera() {
if (camera.isTakingPicture() || camera.isTakingVideo()) return;
TextView watermarkTitle = findViewById(R.id.watermark_title);
switch (camera.toggleFacing()) {
case BACK:
watermarkTitle.setText("Back facing");
camera.invalidateOverlay();
message("Switched to back camera!", false);
break;
case FRONT:
watermarkTitle.setText("Front facing");
camera.invalidateOverlay();
message("Switched to front camera!", false);
break;
}

@ -46,6 +46,7 @@
android:contentDescription="Watermark" />
<TextView
android:id="@+id/watermark_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CameraView"

Loading…
Cancel
Save