Add camera functionality with CameraX, permissions, watermarks, and settings page

This commit is contained in:
xiajiid
2026-02-08 12:15:14 +08:00
parent 146d60560a
commit ce8c4f51fd
10 changed files with 674 additions and 19 deletions

View File

@@ -4,30 +4,73 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="match_height"
tools:context=".MainActivity">
<TextView
android:id="@+id/titleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
<!-- CameraView for displaying the camera preview -->
<androidx.camera.view.PreviewView
android:id="@+id/viewFinder"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/controlPanel"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/descriptionText"
android:layout_width="wrap_content"
<!-- Control panel for camera controls -->
<LinearLayout
android:id="@+id/controlPanel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Welcome to LogCam"
android:textSize="16sp"
android:layout_marginTop="16dp"
android:orientation="vertical"
android:padding="16dp"
android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/titleText" />
app:layout_constraintStart_toStartOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<!-- Capture button -->
<ImageButton
android:id="@+id/captureButton"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_margin="16dp"
android:background="@drawable/circle_button_background"
android:src="@drawable/ic_camera"
android:contentDescription="Capture photo" />
<!-- Settings button -->
<ImageButton
android:id="@+id/settingsButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_margin="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_settings"
android:contentDescription="Settings" />
</LinearLayout>
<!-- Preview of captured photos -->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp">
<LinearLayout
android:id="@+id/photoPreviewLayout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal" />
</HorizontalScrollView>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>