feat(ui): 遷移商品詳情對話框佈局並修復編譯資源錯誤

- 加入 dialog_product_detail.xml

- 移除本專案未支援的 RoundLinearLayout 與 RoundTextView 等自訂元件與屬性

- 替換缺漏的圖示、文字與顏色資源以維持正常編譯
This commit is contained in:
TaiwanStar Developer 2026-06-15 09:35:53 +08:00
parent c7134fe712
commit eb0b9c8271

View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#80808080"
android:clipChildren="false"> <!-- 透明灰色背景 -->
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:layout_margin="120dp"
android:clipChildren="false">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:orientation="vertical">
<!-- 區塊 1: header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="86dp"
android:gravity="end">
<ImageView
android:id="@+id/ivCancel"
android:layout_width="86dp"
android:layout_height="86dp"
android:layout_gravity="center|end"
android:layout_marginHorizontal="6dp"
android:padding="25dp"
android:src="@drawable/close_24"
app:tint="#2A3256" />
</LinearLayout>
<!-- 區塊 2: img+貨道+庫存資料 -->
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/image_product"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#D9D9D9"
android:scaleType="centerCrop"
android:src="@drawable/default_product"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/slot_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#E0E0E0"
android:paddingHorizontal="12dp"
android:paddingVertical="6dp"
android:textColor="#000000"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/inventory_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="#E0E0E0"
android:paddingHorizontal="12dp"
android:paddingVertical="6dp"
android:textColor="#000000"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- 區塊 3: 商品標題 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="48dp"
android:layout_marginTop="25dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textProductName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:text="商品名稱"
android:textColor="#2A3256"
android:textSize="44sp"
android:textStyle="bold" />
</LinearLayout>
<!-- 區塊 4: 商品描述 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="48dp"
android:layout_marginTop="30dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="商品描述"
android:textColor="#2A3256"
android:textSize="28sp"
android:textStyle="bold" />
<TextView
android:id="@+id/text_product_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:ellipsize="end"
android:gravity="start"
android:lineSpacingExtra="4dp"
android:maxLines="3"
android:text="無"
android:textColor="#757575"
android:textSize="28sp" />
</LinearLayout>
<!-- 區塊 5: 數量調整+小記 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="48dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="30dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<!-- 數量控制區(佔左半) -->
<LinearLayout
android:id="@+id/layout_quantity_control"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="數量"
android:textColor="#2A3256"
android:textSize="28sp" />
<ImageView
android:id="@+id/buttonMinus"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/bg_button_outline"
android:padding="12dp"
android:src="@drawable/remove_24"
app:tint="#2A3256" />
<TextView
android:id="@+id/textQuantity"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="1"
android:textColor="#2A3256"
android:textSize="36sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/buttonPlus"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/bg_button_outline"
android:padding="12dp"
android:src="@drawable/add_24"
app:tint="#2A3256" />
</LinearLayout>
<!-- 金額小計區域(靠右對齊) -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical|end"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="金額小計"
android:textColor="#2A3256"
android:textSize="28sp" />
<TextView
android:id="@+id/textPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$30"
android:textColor="@color/primary"
android:textSize="48sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<!-- 區塊 6: 加入購物車+直接購買 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="40dp"
android:gravity="center"
android:orientation="horizontal">
<!-- 加入購物車按鈕 -->
<LinearLayout
android:id="@+id/btn_add_to_cart"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:background="#E3EEFF"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="4dp"
android:text="加入購物車"
android:textColor="#0060E2"
android:textSize="30sp"
android:textStyle="bold" />
</LinearLayout>
<!-- 直接購買按鈕 -->
<LinearLayout
android:id="@+id/btn_buy_now"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:background="#0060E2"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="4dp"
android:text="直接購買"
android:textColor="@color/white"
android:textSize="32sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</FrameLayout>
</androidx.core.widget.NestedScrollView>
</FrameLayout>