From 1a74887fe0aabf9cef3396ab198aa1a1e1111bd3 Mon Sep 17 00:00:00 2001 From: 3dtours Date: Sun, 5 Jul 2026 18:10:42 +0700 Subject: [PATCH] Feat: Implement floating advanced sliders inside camera view finder with scale animation (9_FEAT_UI.md) --- 9_FEAT_UI.md | 214 ++++++++++++++++ .../java/com/photobooth/app/MainActivity.kt | 34 +-- .../app/src/main/res/layout/activity_main.xml | 236 ++++++++++-------- 3 files changed, 360 insertions(+), 124 deletions(-) create mode 100644 9_FEAT_UI.md diff --git a/9_FEAT_UI.md b/9_FEAT_UI.md new file mode 100644 index 0000000..4c4620a --- /dev/null +++ b/9_FEAT_UI.md @@ -0,0 +1,214 @@ +# 🎨 KẾ HOẠCH ĐIỀU CHỈNH: BẢNG SLIDERS FLOATING & HIỂN THỊ TRANSPARENT FRAME + +Mục tiêu: Đưa bảng chỉnh sửa thành một khối mờ floating nằm gọn bên trong khung hình camera, cho phép cuộn dọc nội dung sliders. Đồng thời, cấu trúc lại hệ thống hiển thị để phần trong suốt (Transparent) của file Frame PNG lọt lòng đúng luồng camera. + +--- + +## 📐 1. Cấu Trúc Lại Phân Tầng Giao Diện (`activity_main.xml`) + +Để bảng điều khiển nằm lọt vào bên trong phần hình ảnh, chúng ta phải đưa nó vào làm con trực tiếp của `FrameLayout` quản lý camera (`cameraContainer`). Thứ tự khai báo trong XML sẽ quyết định tầng hiển thị (Z-index): + +``` +[FrameLayout: cameraContainer] (Tỉ lệ 3:4) + ├── Lớp 1 (Đáy): PreviewView (Luồng camera gốc từ phần cứng) + ├── Lớp 2 (Giữa): ImageView (Khung ảnh PNG trong suốt) + └── Lớp 3 (Trên cùng): CardView / ScrollView (Bảng Sliders mờ floating) + +``` + +### 💻 Đoạn mã XML chỉnh sửa chi tiết: + +```xml + + + + + + + + + + + + app:cardCornerRadius="12dp" + app:cardElevation="8dp" + android:visibility="gone" + app:strokeWidth="0dp" + android:backgroundTint="#A6000000"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + +