feat(ui): 添加PLC控制设置界面

- 新增PLC设置界面布局文件,包含连接控制、出盘操作、平台控制等功能模块
- 在AndroidManifest.xml中注册PlcSettingActivity组件
- 为初始化和人脸识别登录页面添加右键双击打开PLC设置的功能
- 实现完整的PLC设置活动类,集成串口通信、自动模式、出盘、平台升降等控制功能
- 添加参数设置输入验证和状态信息实时显示功能
- 实现故障复位和状态刷新等关键操作接口
This commit is contained in:
mazengfei
2026-03-30 18:17:49 +08:00
parent 83f9654987
commit cc16fcecff
5 changed files with 567 additions and 0 deletions
@@ -0,0 +1,269 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical"
tools:context=".activity.PlcSettingActivity">
<include
android:id="@+id/includeHeader"
layout="@layout/item_title_time" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingHorizontal="50dp"
android:paddingVertical="20dp"
android:clipToPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- ===== 连接控制 ===== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="连接控制"
android:textColor="#FFCC99"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/btnOpenSerialPort"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="打开串口"
android:textColor="#FFCC99"
android:textSize="22sp" />
<View
android:layout_width="20dp"
android:layout_height="1dp" />
<TextView
android:id="@+id/btnOpenAutoMode"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="打开自动模式"
android:textColor="#FFCC99"
android:textSize="22sp" />
</LinearLayout>
<!-- ===== 出盘操作 ===== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="出盘操作"
android:textColor="#FFCC99"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/btnOutPlate"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="10dp"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="出盘"
android:textColor="#FFCC99"
android:textSize="22sp" />
<!-- ===== 平台控制 ===== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="平台控制"
android:textColor="#FFCC99"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/btnPlatformDown"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="平台下降"
android:textColor="#FFCC99"
android:textSize="22sp" />
<View
android:layout_width="20dp"
android:layout_height="1dp" />
<TextView
android:id="@+id/btnPlatformUp"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="平台上升"
android:textColor="#FFCC99"
android:textSize="22sp" />
</LinearLayout>
<TextView
android:id="@+id/btnBackToBusiness"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="12dp"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="返回营业(补盘完成)"
android:textColor="#FFCC99"
android:textSize="22sp" />
<!-- ===== 故障处理 ===== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="故障处理"
android:textColor="#FFCC99"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/btnAlarmReset"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="10dp"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="故障复位"
android:textColor="#FFCC99"
android:textSize="22sp" />
<!-- ===== 参数设置 ===== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="参数设置"
android:textColor="#FFCC99"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<EditText
android:id="@+id/etParamType"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="@drawable/btn_outline"
android:gravity="center"
android:hint="参数类型(如 18FD"
android:inputType="text"
android:paddingHorizontal="12dp"
android:textColor="#FFCC99"
android:textColorHint="#99885566"
android:textSize="18sp" />
<View
android:layout_width="20dp"
android:layout_height="1dp" />
<EditText
android:id="@+id/etParamValue"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="@drawable/btn_outline"
android:gravity="center"
android:hint="参数值(整数)"
android:inputType="number"
android:paddingHorizontal="12dp"
android:textColor="#FFCC99"
android:textColorHint="#99885566"
android:textSize="18sp" />
</LinearLayout>
<TextView
android:id="@+id/btnSetParams"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="12dp"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="设置参数"
android:textColor="#FFCC99"
android:textSize="22sp" />
<!-- ===== 状态显示 ===== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="PLC 状态"
android:textColor="#FFCC99"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/btnRefreshStatus"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="10dp"
android:background="@drawable/btn_outline"
android:gravity="center"
android:text="刷新状态"
android:textColor="#FFCC99"
android:textSize="22sp" />
<TextView
android:id="@+id/tvStatusInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:background="@drawable/btn_outline"
android:paddingHorizontal="16dp"
android:paddingVertical="14dp"
android:text="暂无状态数据"
android:textColor="#FFCC99"
android:textSize="16sp"
tools:text="空盘:false | 平台下位:false | 平台上位:true | 取盘红外:false | 报警码:0" />
<View
android:layout_width="match_parent"
android:layout_height="30dp" />
</LinearLayout>
</ScrollView>
</LinearLayout>