[FEAT] Phase2 發票:移植 Travis 統編/載具對話框外觀(沿用現有 Java)

- dialog_customer_identifier / dialog_invoice_barcode 換 Travis 版面
- 新增 bg_keypad_button / bg_step_active / bg_step_inactive 與 color/outlineVariant
- binding 契約相符,無需改 Java

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
sky121113 2026-06-10 16:07:39 +08:00
parent 696e6cb952
commit 73e2b55c53
6 changed files with 503 additions and 182 deletions

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/surface" />
<corners android:radius="8dp" />
<stroke android:width="1dp" android:color="@color/outlineVariant" />
</shape>
</item>
</ripple>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/primary" />
<size android:width="40dp" android:height="40dp" />
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/gray" />
<size android:width="40dp" android:height="40dp" />
</shape>

View File

@ -10,7 +10,7 @@
android:id="@+id/linearLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/light_gray"
android:background="@color/surface"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -20,13 +20,133 @@
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/error"
android:background="@android:color/transparent"
android:gravity="center"
android:text="@string/invoice_account"
android:textColor="@color/white"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonInputVehicle"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:checkable="true"
android:text="@string/input_vehicle"
android:textColor="?attr/colorPrimary"
android:textSize="18sp"
app:strokeColor="?attr/colorPrimary" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonDonation"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:checkable="true"
android:text="@string/donation_invoice"
android:textColor="?attr/colorPrimary"
android:textSize="18sp"
app:strokeColor="?attr/colorPrimary" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonCustomerIdentifier"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:checkable="true"
android:checked="true"
android:text="@string/unified_number"
android:textColor="?attr/colorPrimary"
android:textSize="18sp"
app:strokeColor="?attr/colorPrimary" />
</LinearLayout>
<!-- 步驟進度條 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center"
android:paddingTop="20dp"
android:paddingBottom="10dp"
android:orientation="horizontal">
<!-- 步驟 1 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/stepCircle1"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/bg_step_active"
android:gravity="center"
android:text="1"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/stepText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="公司統編"
android:textColor="@color/primary"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
<!-- 連接線 -->
<View
android:id="@+id/stepLine"
android:layout_width="100dp"
android:layout_height="2dp"
android:layout_marginBottom="20dp"
android:layout_marginHorizontal="8dp"
android:background="@color/gray" />
<!-- 步驟 2 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/stepCircle2"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/bg_step_inactive"
android:gravity="center"
android:text="2"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/stepText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="電話號碼"
android:textColor="@color/gray"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
@ -42,14 +162,14 @@
android:layout_marginStart="5dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/input_unified_number"
android:textColor="@color/error"
android:text="輸入公司統編"
android:textColor="?attr/colorPrimary"
android:textSize="30sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMark1"
android:id="@+id/linearStep1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
@ -58,27 +178,32 @@
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:hint="公司統編"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintEnabled="true"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<EditText
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editTextNumber"
android:layout_width="300dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"
android:hint="@string/unified_number"
android:gravity="center"
android:inputType="number"
android:maxLength="8"/>
</LinearLayout>
android:maxLength="8"
android:textSize="24sp"
android:textStyle="bold" />
</com.google.android.material.textfield.TextInputLayout>
<GridLayout
android:id="@+id/numberPad"
android:id="@+id/numberPad1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
@ -91,137 +216,200 @@
<!-- 第一排 -->
<Button
android:id="@+id/button11"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="1"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button12"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="2"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button13"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="3"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<!-- 第二排 -->
<Button
android:id="@+id/button14"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="4"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button15"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="5"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button16"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="6"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<!-- 第三排 -->
<Button
android:id="@+id/button17"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="7"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button18"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="8"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button19"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="9"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<!-- 第四排 -->
<Button
android:id="@+id/buttonC1"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="C"
android:textSize="24dp" />
android:textColor="@color/error"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button10"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="0"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/buttonR1"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="←"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
</GridLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearStep2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="10dp"
android:paddingBottom="20dp"
android:background="@color/white"
android:visibility="gone"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:hint="電話號碼"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintEnabled="true"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:gravity="center"
android:orientation="horizontal">
<EditText
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editTextPhone"
android:layout_width="300dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/phone_number"
android:textSize="20sp"
android:gravity="center"
android:inputType="phone"
android:maxLength="10"/>
</LinearLayout>
android:maxLength="10"
android:textSize="24sp"
android:textStyle="bold" />
</com.google.android.material.textfield.TextInputLayout>
<GridLayout
android:id="@+id/numberPad2"
@ -237,161 +425,210 @@
<!-- 第一排 -->
<Button
android:id="@+id/button21"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="1"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button22"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="2"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button23"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="3"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<!-- 第二排 -->
<Button
android:id="@+id/button24"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="4"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button25"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="5"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button26"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="6"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<!-- 第三排 -->
<Button
android:id="@+id/button27"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="7"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button28"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="8"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button29"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="9"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<!-- 第四排 -->
<Button
android:id="@+id/buttonC2"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="C"
android:textSize="24dp" />
android:textColor="@color/error"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/button20"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/black"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="0"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
<Button
android:id="@+id/buttonR2"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:backgroundTint="@color/light_gray"
android:layout_margin="4dp"
android:layout_margin="6dp"
android:background="@drawable/bg_keypad_button"
android:elevation="4dp"
android:text="←"
android:textSize="24dp" />
android:textColor="@color/black"
android:textSize="24sp"
app:backgroundTint="@null" />
</GridLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center"
android:orientation="horizontal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="horizontal">
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/cancel_40"
android:layout_marginEnd="16dp"
android:backgroundTint="@color/warning"
android:text="返回支付方式"
android:textColor="@color/white"
android:textSize="20sp"
android:textColor="@color/black" />
app:cornerRadius="8dp" />
<Button
android:id="@+id/buttonDonation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonNextStep"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/donation_invoice"
android:backgroundTint="?attr/colorPrimary"
android:text="下一步"
android:textColor="@color/white"
android:textSize="20sp"
app:cornerRadius="8dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonFinish"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:backgroundTint="?attr/colorPrimary"
android:text="@string/input_complete"
android:textColor="@color/white"
android:textSize="20sp"
android:visibility="gone"
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" />
app:cornerRadius="8dp" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -10,7 +10,7 @@
android:id="@+id/linearLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/light_gray"
android:background="@color/surface"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -20,32 +20,105 @@
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/error"
android:background="@android:color/transparent"
android:gravity="center"
android:text="@string/invoice_account"
android:textColor="@color/white"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="560dp"
android:layout_marginBottom="1dp"
android:background="@color/white"
android:gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonInputVehicle"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:checkable="true"
android:checked="true"
android:text="@string/input_vehicle"
android:textColor="?attr/colorPrimary"
android:textSize="18sp"
app:strokeColor="?attr/colorPrimary" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonDonation"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:checkable="true"
android:text="@string/donation_invoice"
android:textColor="?attr/colorPrimary"
android:textSize="18sp"
app:strokeColor="?attr/colorPrimary" />
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonCustomerIdentifier"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:checkable="true"
android:text="@string/unified_number"
android:textColor="?attr/colorPrimary"
android:textSize="18sp"
app:strokeColor="?attr/colorPrimary" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:background="@color/white"
android:gravity="center"
android:paddingVertical="20dp"
android:orientation="vertical">
<TextView
android:id="@+id/textInvoiceCarrier"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/scan_vehicle"
android:textColor="@color/error"
android:textColor="?attr/colorPrimary"
android:textSize="30sp"
android:textStyle="bold" />
<com.google.android.material.textfield.TextInputLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:hint="@string/vehicles"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintEnabled="true"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editTextVehicle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:focusable="false"
android:focusableInTouchMode="false"
android:cursorVisible="false"
android:textSize="24sp"
android:textStyle="bold" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<LinearLayout
@ -67,49 +140,36 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="horizontal">
<Button
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/cancel_40"
android:backgroundTint="@color/warning"
android:text="返回支付方式"
android:textColor="@color/white"
android:textSize="20sp"
android:textColor="@color/black" />
app:cornerRadius="8dp" />
<Button
android:id="@+id/buttonInputVehicle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonConfirm"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="0dp"
android:layout_height="64dp"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/input_vehicle"
android:layout_marginStart="16dp"
android:backgroundTint="?attr/colorPrimary"
android:enabled="false"
android:text="確認"
android:textColor="@color/white"
android:textSize="20sp"
android:textColor="@color/black" />
<Button
android:id="@+id/buttonDonation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/donation_invoice"
android:textSize="20sp"
android:textColor="@color/black" />
<Button
android:id="@+id/buttonCustomerIdentifier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="@color/white"
android:text="@string/unified_number"
android:textSize="20sp"
android:textColor="@color/black" />
app:cornerRadius="8dp" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -16,6 +16,7 @@
<color name="transparent_black">#AA000000</color> <!-- 遮罩層 -->
<color name="transparent">#00000000</color> <!-- 全透明 -->
<color name="surface">#F8F9FF</color> <!-- 卡片/面板底色Travis 支付/發票沿用) -->
<color name="outlineVariant">#C3C7CF</color> <!-- 次要邊框/分隔Travis 發票沿用) -->
<!-- ═══════════════════════════════════════════
語意色(兩層架構:色 / on色