[FEAT] Phase2 通行碼/取貨碼:移植 Travis 對話框外觀(沿用現有 B660/B670 邏輯)

- dialog_access_code / dialog_pickup_code_fontend 換 Travis 版面
- binding 契約相符,無需改 Java(保留現有通行碼/取貨碼邏輯)
- 新增 color/transparent

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
sky121113 2026-06-10 16:05:21 +08:00
parent d4fe3c6cf4
commit 696e6cb952
3 changed files with 612 additions and 422 deletions

View File

@ -3,239 +3,332 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_gray">
android:layout_height="match_parent"
android:background="@color/transparent">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
<androidx.cardview.widget.CardView
android:id="@+id/cardView"
android:layout_width="540dp"
android:layout_height="wrap_content"
android:background="@color/light_gray"
android:orientation="vertical"
app:cardBackgroundColor="@color/surface"
app:cardCornerRadius="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/error"
android:gravity="center"
android:text="@string/passcode"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="350dp"
android:layout_marginBottom="1dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/textStatus"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/enter_passcode_or_scan_qrcode"
android:textColor="@color/error"
android:textSize="30sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMark1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="10dp"
android:paddingBottom="20dp"
android:background="@color/white"
android:orientation="vertical">
android:orientation="vertical"
android:paddingBottom="24dp">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="65dp"
android:gravity="center"
android:text="@string/passcode"
android:textColor="@color/black"
android:textSize="36sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="300dp"
<TextView
android:id="@+id/textStatus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:hint="@string/passcode"
android:layout_weight="1"
android:gravity="center"
android:inputType="number"
android:maxLength="8"/>
android:text="@string/enter_passcode_or_scan_qrcode"
android:textColor="@color/primary"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMark1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="20dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:gravity="center"
android:orientation="horizontal">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="320dp"
android:layout_height="60dp"
android:textSize="28sp"
android:hint="@string/passcode"
android:background="@color/white"
android:textColor="@color/black"
android:gravity="center"
android:inputType="number"
android:maxLength="8" />
</LinearLayout>
<!-- Number pads -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button11"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="1" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button12"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="2" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button13"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button14"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="4" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button15"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="5" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button16"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="6" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button17"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="7" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button18"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="8" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button19"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="9" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonC1"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
app:cornerRadius="16dp"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="C"
android:textColor="@color/black"
android:textSize="32sp"
android:textStyle="bold" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button10"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="0" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonR1"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="←" />
</LinearLayout>
</LinearLayout>
<GridLayout
android:id="@+id/numberPad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
android:columnCount="3"
android:rowCount="4"
android:layout_gravity="center"
android:orientation="horizontal"
android:padding="16dp">
<!-- 第一排 -->
<Button
android:id="@+id/button11"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="1"
android:textSize="24dp" />
<Button
android:id="@+id/button12"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="2"
android:textSize="24dp" />
<Button
android:id="@+id/button13"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="3"
android:textSize="24dp" />
<!-- 第二排 -->
<Button
android:id="@+id/button14"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="4"
android:textSize="24dp" />
<Button
android:id="@+id/button15"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="5"
android:textSize="24dp" />
<Button
android:id="@+id/button16"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="6"
android:textSize="24dp" />
<!-- 第三排 -->
<Button
android:id="@+id/button17"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="7"
android:textSize="24dp" />
<Button
android:id="@+id/button18"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="8"
android:textSize="24dp" />
<Button
android:id="@+id/button19"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="9"
android:textSize="24dp" />
<!-- 第四排 -->
<Button
android:id="@+id/buttonC1"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="8dp"
android:text="C"
android:textSize="24dp" />
<Button
android:id="@+id/button10"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="0"
android:textSize="24dp" />
<Button
android:id="@+id/buttonR1"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="8dp"
android:text="←"
android:textSize="24dp" />
</GridLayout>
<!-- 底部按鈕 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_height="80dp"
android:layout_marginTop="16dp"
android:gravity="center"
android:orientation="horizontal" />
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonCancel"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="160dp"
android:layout_height="64dp"
android:layout_marginEnd="24dp"
app:backgroundTint="@color/warning"
android:text="@string/return_to_40"
android:textSize="26sp"
app:cornerRadius="12dp"
android:textColor="@color/white" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonFinish"
style="@style/Widget.Material3.Button"
android:layout_width="160dp"
android:layout_height="64dp"
app:backgroundTint="@color/primary"
app:rippleColor="#33FFFFFF"
android:text="@string/input_complete"
android:textSize="26sp"
app:cornerRadius="12dp"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/buttonCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/return_to_40"
android:textSize="20sp"
android:textColor="@color/black" />
<Button
android:id="@+id/buttonFinish"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/input_complete"
android:textSize="20sp"
android:textColor="@color/black" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -3,237 +3,333 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_gray">
android:layout_height="match_parent"
android:background="@color/transparent">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
<androidx.cardview.widget.CardView
android:id="@+id/cardView"
android:layout_width="540dp"
android:layout_height="wrap_content"
android:background="@color/light_gray"
android:orientation="vertical"
app:cardBackgroundColor="@color/surface"
app:cardCornerRadius="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/error"
android:gravity="center"
android:text="@string/pickup_code"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_marginBottom="1dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/textStatus"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/enter_pickup_code_or_scan_qrcode"
android:textColor="@color/error"
android:textSize="30sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMark1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="10dp"
android:paddingBottom="20dp"
android:background="@color/white"
android:orientation="vertical">
android:orientation="vertical"
android:paddingBottom="24dp">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="65dp"
android:gravity="center"
android:text="取貨碼"
android:textColor="@color/black"
android:textSize="36sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="300dp"
<TextView
android:id="@+id/textStatus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:hint="@string/pickup_code"
android:layout_weight="1"
android:gravity="center"
android:inputType="number"
android:maxLength="8" />
android:text="請輸入取貨碼 或 掃描QRCode"
android:textColor="@color/primary"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMark1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="20dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:gravity="center"
android:orientation="horizontal">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="320dp"
android:layout_height="60dp"
android:textSize="28sp"
android:hint="請輸入取貨碼"
android:background="@color/white"
android:textColor="@color/black"
android:gravity="center"
android:inputType="number"
android:maxLength="8" />
</LinearLayout>
<!-- Number pads -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button11"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="30dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="1" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button12"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="2" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button13"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button14"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="4" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button15"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="5" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button16"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="6" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/button17"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="7" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button18"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="8" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button19"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="9" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonC1"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
app:cornerRadius="16dp"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="X"
android:textColor="@color/black"
android:textSize="32sp"
android:textStyle="bold" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button10"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginEnd="20dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="0" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonR1"
android:layout_width="94dp"
android:layout_height="94dp"
app:backgroundTint="#FFFFFF"
app:rippleColor="#33000000"
android:elevation="5dp"
android:textColor="@color/black"
android:textSize="32sp"
app:cornerRadius="16dp"
android:textStyle="bold"
app:strokeColor="@color/black"
app:strokeWidth="1.5dp"
android:text="←" />
</LinearLayout>
</LinearLayout>
<GridLayout
android:id="@+id/numberPad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
android:columnCount="3"
android:rowCount="4"
android:layout_gravity="center"
android:orientation="horizontal"
android:padding="16dp">
<!-- 第一排 -->
<Button
android:id="@+id/button11"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="1"
android:textSize="24dp" />
<Button
android:id="@+id/button12"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="2"
android:textSize="24dp" />
<Button
android:id="@+id/button13"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="3"
android:textSize="24dp" />
<!-- 第二排 -->
<Button
android:id="@+id/button14"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="4"
android:textSize="24dp" />
<Button
android:id="@+id/button15"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="5"
android:textSize="24dp" />
<Button
android:id="@+id/button16"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="6"
android:textSize="24dp" />
<!-- 第三排 -->
<Button
android:id="@+id/button17"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="7"
android:textSize="24dp" />
<Button
android:id="@+id/button18"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="8"
android:textSize="24dp" />
<Button
android:id="@+id/button19"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="9"
android:textSize="24dp" />
<!-- 第四排 -->
<Button
android:id="@+id/buttonC1"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="8dp"
android:text="C"
android:textSize="24dp" />
<Button
android:id="@+id/button10"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="8dp"
android:text="0"
android:textSize="24dp" />
<Button
android:id="@+id/buttonR1"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="8dp"
android:text="←"
android:textSize="24dp" />
</GridLayout>
<!-- 底部按鈕 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_height="80dp"
android:layout_marginTop="16dp"
android:gravity="center"
android:orientation="horizontal" />
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonCancel"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="160dp"
android:layout_height="64dp"
android:layout_marginEnd="24dp"
app:backgroundTint="@color/warning"
android:text="取消"
android:textSize="26sp"
app:cornerRadius="12dp"
android:textColor="@color/white" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonFinish"
style="@style/Widget.Material3.Button"
android:layout_width="160dp"
android:layout_height="64dp"
app:backgroundTint="@color/primary"
app:rippleColor="#33FFFFFF"
android:text="輸入完成"
android:textSize="26sp"
app:cornerRadius="12dp"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/buttonCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/cancel_40"
android:textSize="20sp"
android:textColor="@color/black" />
<Button
android:id="@+id/buttonFinish"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/input_complete"
android:textSize="20sp"
android:textColor="@color/black" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -14,6 +14,7 @@
工具色
═══════════════════════════════════════════ -->
<color name="transparent_black">#AA000000</color> <!-- 遮罩層 -->
<color name="transparent">#00000000</color> <!-- 全透明 -->
<color name="surface">#F8F9FF</color> <!-- 卡片/面板底色Travis 支付/發票沿用) -->
<!-- ═══════════════════════════════════════════