左晓为主开发手持机充值管理机
zuoxiao
1 天以前 20952db304d0f71e1ce25f3b82114bbadff1ad4a
generallibrary/src/main/res/layout/activity_card_replace.xml
@@ -1,49 +1,424 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout 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="@color/white"
    android:orientation="vertical">
    android:background="@color/base_green_bg">
    <com.dayu.baselibrary.view.TitleBar
        android:id="@+id/titleBar"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dimen_title_height"
        app:centerText="补卡" />
        android:background="@color/title_bar_bg"
        android:elevation="4dp"
        app:centerText="补卡"
        app:leftImage="@mipmap/icon_back" />
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <com.scwang.smart.refresh.layout.SmartRefreshLayout
            android:id="@+id/refreshLayout"
    <!-- 读卡提示区域 - 全屏显示 -->
    <ScrollView
        android:id="@+id/scroll_read_card"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/titleBar">
        android:layout_below="@+id/titleBar"
        android:fillViewport="true"
        android:visibility="visible">
            <com.scwang.smart.refresh.header.ClassicsHeader
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
            <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/recyclerView"
        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/base_list_bg"
                android:overScrollMode="never"
                android:padding="10dp" />
            android:orientation="vertical"
            android:padding="16dp">
            <com.scwang.smart.refresh.footer.ClassicsFooter
            <LinearLayout
                android:id="@+id/card_read_LL"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
                android:layout_height="match_parent"
                android:gravity="center"
                android:orientation="vertical">
                <androidx.cardview.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginBottom="16dp"
                    app:cardCornerRadius="8dp"
                    app:cardElevation="2dp">
    </FrameLayout>
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:padding="16dp">
                        <TextView
                            android:id="@+id/tv_title"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="100dp"
                            android:gravity="center"
                            android:text="补卡操作"
                            android:layout_marginTop="20dp"
                            android:textColor="@color/base_blue_bg"
                            android:textSize="@dimen/big_text_size"
                            android:textStyle="bold" />
                        <TextView
                            android:id="@+id/tv_subtitle"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/tv_title"
                            android:layout_marginBottom="20dp"
                            android:gravity="center"
                            android:text="请将需要补办的卡片贴在设备上进行读取"
                            android:textColor="#333333"
                            android:textSize="@dimen/text_size"
                            android:textStyle="bold" />
                        <ImageView
                            android:id="@+id/iv_nfc"
                            android:layout_width="120dp"
                            android:layout_height="120dp"
                            android:layout_below="@+id/tv_subtitle"
                            android:layout_centerHorizontal="true"
                            android:layout_marginBottom="20dp"
                            android:scaleType="fitCenter"
                            android:src="@mipmap/nfc_write" />
                        <TextView
                            android:id="@+id/tv_tip"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/iv_nfc"
                            android:gravity="center"
                            android:text="请保持手持机和卡片不要移动"
                            android:textColor="#666666"
                            android:textSize="@dimen/new_card_size" />
                    </RelativeLayout>
                </androidx.cardview.widget.CardView>
            </LinearLayout>
</LinearLayout> 
    </ScrollView>
    <!-- 卡片信息显示区域 - 带固定底部按钮 -->
    <LinearLayout
        android:id="@+id/card_info_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/bottom_button_container"
        android:layout_below="@+id/titleBar"
        android:orientation="vertical"
        android:visibility="gone">
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:fillViewport="true"
            android:padding="12dp">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <!-- 当前卡地址显示区域 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="12dp"
                    app:cardCornerRadius="8dp"
                    app:cardElevation="2dp">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="16dp">
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="12dp"
                            android:text="当前卡地址"
                            android:textColor="@color/base_blue_bg"
                            android:textSize="18sp"
                            android:textStyle="bold" />
                        <TextView
                            android:id="@+id/tv_current_card_address"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:background="#F5F5F5"
                            android:padding="12dp"
                            android:text="--"
                            android:textColor="#333333"
                            android:textSize="16sp"
                            android:textIsSelectable="true" />
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
                <!-- 旧卡信息区域 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    app:cardCornerRadius="8dp"
                    app:cardElevation="2dp">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        android:padding="16dp">
                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="12dp"
                            android:text="旧卡信息"
                            android:textColor="@color/base_blue_bg"
                            android:textSize="18sp"
                            android:textStyle="bold" />
                        <!-- 持卡人 -->
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="1dp"
                            android:background="#F8F9FA"
                            android:gravity="center_vertical"
                            android:orientation="horizontal"
                            android:padding="12dp">
                            <TextView
                                android:layout_width="100dp"
                                android:layout_height="wrap_content"
                                android:text="持卡人:"
                                android:textColor="#333333"
                                android:textSize="16sp"
                                android:textStyle="bold" />
                            <TextView
                                android:id="@+id/tv_user_name"
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:text="--"
                                android:textColor="#666666"
                                android:textSize="16sp" />
                        </LinearLayout>
                        <!-- 卡片状态 -->
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="1dp"
                            android:background="#FFFFFF"
                            android:gravity="center_vertical"
                            android:orientation="horizontal"
                            android:padding="12dp">
                            <TextView
                                android:layout_width="100dp"
                                android:layout_height="wrap_content"
                                android:text="卡片状态:"
                                android:textColor="#333333"
                                android:textSize="16sp"
                                android:textStyle="bold" />
                            <TextView
                                android:id="@+id/tv_card_status"
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:text="正常"
                                android:textColor="#4CAF50"
                                android:textSize="16sp" />
                        </LinearLayout>
                        <!-- 卡内余额 -->
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="1dp"
                            android:background="#F8F9FA"
                            android:gravity="center_vertical"
                            android:orientation="horizontal"
                            android:padding="12dp">
                            <TextView
                                android:layout_width="100dp"
                                android:layout_height="wrap_content"
                                android:text="卡内余额:"
                                android:textColor="#333333"
                                android:textSize="16sp"
                                android:textStyle="bold" />
                            <TextView
                                android:id="@+id/tv_card_balance"
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:text="0.00元"
                                android:textColor="#FF6B35"
                                android:textSize="16sp"
                                android:textStyle="bold" />
                        </LinearLayout>
                        <!-- 手机号 -->
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:background="#FFFFFF"
                            android:gravity="center_vertical"
                            android:orientation="horizontal"
                            android:padding="12dp">
                            <TextView
                                android:layout_width="100dp"
                                android:layout_height="wrap_content"
                                android:text="手机号:"
                                android:textColor="#333333"
                                android:textSize="16sp"
                                android:textStyle="bold" />
                            <TextView
                                android:id="@+id/tv_phone"
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_weight="1"
                                android:text="--"
                                android:textColor="#666666"
                                android:textSize="16sp" />
                        </LinearLayout>
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </LinearLayout>
        </ScrollView>
    </LinearLayout>
    <!-- 底部操作区域 -->
    <LinearLayout
        android:id="@+id/bottom_button_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#FFFFFF"
        android:elevation="4dp"
        android:orientation="vertical"
        android:padding="16dp"
        android:visibility="gone">
        <!-- 支付方式选择区域 -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginBottom="16dp">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:text="支付方式"
                android:textColor="#333333"
                android:textSize="16sp"
                android:textStyle="bold" />
            <RadioGroup
                android:id="@+id/payment_method_group"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
                <!-- 支付方式RadioButton将动态添加 -->
            </RadioGroup>
        </LinearLayout>
        <!-- 工本费和返回金额输入区域 -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginBottom="16dp">
            <!-- 工本费输入 -->
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginEnd="8dp"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="6dp"
                    android:text="工本费(元)"
                    android:textColor="#333333"
                    android:textSize="14sp"
                    android:textStyle="bold" />
                <EditText
                    android:id="@+id/et_card_cost"
                    android:layout_width="match_parent"
                    android:layout_height="48dp"
                    android:background="@drawable/edit_text_bg"
                    android:hint="工本费"
                    android:inputType="numberDecimal"
                    android:padding="12dp"
                    android:text=""
                    android:textColor="#333333"
                    android:textColorHint="#999999"
                    android:textSize="16sp" />
            </LinearLayout>
            <!-- 返回金额输入 -->
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginStart="8dp"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="6dp"
                    android:text="返回金额(元)"
                    android:textColor="#333333"
                    android:textSize="14sp"
                    android:textStyle="bold" />
                <EditText
                    android:id="@+id/et_return_amount"
                    android:layout_width="match_parent"
                    android:layout_height="48dp"
                    android:background="@drawable/edit_text_bg"
                    android:hint="返回金额"
                    android:inputType="numberDecimal"
                    android:padding="12dp"
                    android:text="0"
                    android:textColor="#333333"
                    android:textColorHint="#999999"
                    android:textSize="16sp" />
            </LinearLayout>
        </LinearLayout>
        <!-- 补卡按钮 -->
        <Button
            android:id="@+id/btn_replace"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="@drawable/button_blue_bg"
            android:text="确认补卡"
            android:textColor="#FFFFFF"
            android:textSize="@dimen/big_text_size"
            android:textStyle="bold" />
    </LinearLayout>
</RelativeLayout>