位置任务参数数据管理模块完成
This commit is contained in:
20
positions/src/main/res/drawable/bg_task_item.xml
Normal file
20
positions/src/main/res/drawable/bg_task_item.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="@color/white" />
|
||||
|
||||
<corners android:radius="4dp" />
|
||||
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/gray" />
|
||||
|
||||
<padding
|
||||
android:left="8dp"
|
||||
android:top="8dp"
|
||||
android:right="8dp"
|
||||
android:bottom="8dp" />
|
||||
|
||||
</shape>
|
||||
|
||||
26
positions/src/main/res/drawable/item_bg_edit.xml
Normal file
26
positions/src/main/res/drawable/item_bg_edit.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- res/drawable/item_bg_edit.xml -->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 状态1:按压时(编辑项被点击,反馈明确) -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#E0E6ED" /> <!-- 按压底色:比默认深一点的灰蓝色,反馈清晰 -->
|
||||
<corners android:radius="8dp" /> <!-- 保持圆角统一 -->
|
||||
<stroke
|
||||
android:width="1.5dp"
|
||||
android:color="#A0B4C8" /> <!-- 按压时边框加深,增强视觉焦点 -->
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<!-- 状态2:默认状态(未按压,区分简单视图) -->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#EEEEEE" /> <!-- 默认底色:比简单视图深,明确编辑模式 -->
|
||||
<corners android:radius="8dp" /> <!-- 与简单视图一致的圆角,UI不割裂 -->
|
||||
<stroke
|
||||
android:width="1.5dp"
|
||||
android:color="#D0D8E0" /> <!-- 淡蓝色边框,暗示“可编辑” -->
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
|
||||
26
positions/src/main/res/drawable/item_bg_simple.xml
Normal file
26
positions/src/main/res/drawable/item_bg_simple.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- res/drawable/item_bg_simple.xml -->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 状态1:按压时的背景(深一点的灰色,明确反馈点击动作) -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#E8E8E8" /> <!-- 按压底色(比默认深一点) -->
|
||||
<corners android:radius="8dp" /> <!-- 保持和默认状态一致的圆角 -->
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#E0E0E0" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<!-- 状态2:默认状态(未按压时的背景,和基础版一致) -->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#F5F5F5" /> <!-- 默认浅灰底色 -->
|
||||
<corners android:radius="8dp" /> <!-- 8dp圆角 -->
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#E0E0E0" /> <!-- 细灰边框 -->
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
|
||||
82
positions/src/main/res/layout/dialog_edit_task.xml
Normal file
82
positions/src/main/res/layout/dialog_edit_task.xml
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp"
|
||||
android:background="@color/white">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_edit_task_desc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="输入任务描述"
|
||||
android:maxLines="1"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/rg_distance_condition"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/rb_greater_than"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="大于"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/rb_less_than"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="小于"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginLeft="24dp" />
|
||||
|
||||
</RadioGroup>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_edit_distance"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="输入距离(米)"
|
||||
android:inputType="number"
|
||||
android:maxLines="1"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginTop="8dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="end"
|
||||
android:layout_marginTop="16dp">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_dialog_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="40dp"
|
||||
android:text="取消"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_dialog_save"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="40dp"
|
||||
android:text="保存"
|
||||
android:textSize="14sp"
|
||||
android:background="@color/blue"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,152 +1,170 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 编辑视图:新增实时距离开关(单选框组),位于备注输入框与按钮区之间 -->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp"
|
||||
android:background="@drawable/item_position_bg"
|
||||
android:layout_marginBottom="8dp">
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp"
|
||||
android:background="@drawable/item_bg_edit">
|
||||
|
||||
<!-- 1. 经纬度显示(不变) -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginBottom="12dp">
|
||||
<TextView
|
||||
android:id="@+id/tv_edit_longitude"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#999999"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_edit_longitude"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"/>
|
||||
<TextView
|
||||
android:id="@+id/tv_edit_latitude"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#999999"
|
||||
android:layout_marginTop="4dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_edit_latitude"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"
|
||||
android:layout_marginTop="5dp"/>
|
||||
<EditText
|
||||
android:id="@+id/et_edit_memo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="请输入位置备注"
|
||||
android:textSize="14sp"
|
||||
android:padding="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@drawable/edittext_bg"/>
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="10dp">
|
||||
|
||||
<!-- 2. 备注输入框(不变,调整下方间距为8dp,与新增单选框区过渡更自然) -->
|
||||
<EditText
|
||||
android:id="@+id/et_edit_memo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="请输入位置备注(如:公司/家/学校)"
|
||||
android:textSize="16sp"
|
||||
android:inputType="textMultiLine"
|
||||
android:minLines="2"
|
||||
android:maxLines="4"
|
||||
android:padding="10dp"
|
||||
android:background="@drawable/edittext_bg"
|
||||
android:layout_marginBottom="8dp"/> <!-- 原12dp→8dp,优化与单选框的间距 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#333333"
|
||||
android:id="@+id/tv_edit_real_distance"/>
|
||||
|
||||
<!-- 新增3:实时距离开关(单选框组)- 控制isEnableRealPositionDistance属性 -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="12dp"> <!-- 与下方按钮区保持12dp间距,符合原有布局规范 -->
|
||||
<RadioGroup
|
||||
android:id="@+id/rg_real_distance_switch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginLeft="8dp">
|
||||
|
||||
<!-- 单选框标题(说明用途,文字颜色与经纬度一致,保持风格统一) -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="实时距离计算:"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"
|
||||
android:layout_marginRight="12dp"/> <!-- 与单选框保持12dp间距,避免拥挤 -->
|
||||
<RadioButton
|
||||
android:id="@+id/rb_disable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="禁用"
|
||||
android:textSize="14sp"
|
||||
android:checked="true"/>
|
||||
|
||||
<!-- 单选框组(RadioGroup):确保“启用/禁用”二选一 -->
|
||||
<RadioGroup
|
||||
android:id="@+id/rg_real_distance_switch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:checkedButton="@+id/rb_disable"> <!-- 默认选中“禁用”,匹配isEnable默认值false -->
|
||||
<RadioButton
|
||||
android:id="@+id/rb_enable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="启用"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginLeft="15dp"/>
|
||||
|
||||
<!-- 单选框1:禁用实时距离(对应isEnableRealPositionDistance=false) -->
|
||||
<RadioButton
|
||||
android:id="@+id/rb_disable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="禁用"
|
||||
android:textSize="13sp"
|
||||
android:textColor="#333333"
|
||||
android:layout_marginRight="16dp"/> <!-- 与“启用”单选框保持16dp间距 -->
|
||||
</RadioGroup>
|
||||
|
||||
<!-- 单选框2:启用实时距离(对应isEnableRealPositionDistance=true) -->
|
||||
<RadioButton
|
||||
android:id="@+id/rb_enable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="启用"
|
||||
android:textSize="13sp"
|
||||
android:textColor="#333333"/>
|
||||
</LinearLayout>
|
||||
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<!-- 4. 按钮区(不变:顺序→删除(左)→取消→确定(右)) -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<Button
|
||||
android:id="@+id/btn_edit_delete"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_delete_bg"
|
||||
android:text="删除位置"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
|
||||
<!-- ① 删除按钮(最左侧,红色) -->
|
||||
<Button
|
||||
android:id="@+id/btn_edit_delete"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_delete_bg"
|
||||
android:text="删除"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
<View
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
<!-- 间隔(按钮间间距) -->
|
||||
<View
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="match_parent"/>
|
||||
<Button
|
||||
android:id="@+id/btn_edit_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_cancel_bg"
|
||||
android:text="取消"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
|
||||
<!-- ② 取消按钮(中间,灰色,不保存返回简单视图) -->
|
||||
<Button
|
||||
android:id="@+id/btn_edit_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_cancel_bg"
|
||||
android:text="取消"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
<View
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
<!-- 间隔 -->
|
||||
<View
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="match_parent"/>
|
||||
<Button
|
||||
android:id="@+id/btn_edit_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_confirm_bg"
|
||||
android:text="确定"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
|
||||
<!-- ③ 确定按钮(最右侧,蓝色,保存并返回简单视图) -->
|
||||
<Button
|
||||
android:id="@+id/btn_edit_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_confirm_bg"
|
||||
android:text="确定"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="30dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:text="关联任务(可编辑):"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#333333"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_add_task"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/btn_confirm_bg"
|
||||
android:text="添加新任务"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="12sp"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingEnd="12dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<cc.winboll.studio.positions.views.PositionTaskListView
|
||||
android:id="@+id/ptlv_edit_tasks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="400dp"
|
||||
android:layout_marginTop="6dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -1,49 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 简单视图:新增实时距离显示控件(备注下方) -->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp"
|
||||
android:background="@drawable/item_position_bg"
|
||||
android:layout_marginBottom="8dp">
|
||||
|
||||
<!-- 经度 -->
|
||||
android:background="@drawable/item_bg_simple">
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_longitude"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"/>
|
||||
android:textColor="#333333"/>
|
||||
|
||||
<!-- 纬度 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_latitude"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"
|
||||
android:layout_marginTop="5dp"/>
|
||||
android:textColor="#333333"
|
||||
android:layout_marginTop="4dp"/>
|
||||
|
||||
<!-- 备注(加粗突出) -->
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_memo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp"
|
||||
android:textColor="#000000"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginTop="8dp"/>
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"
|
||||
android:layout_marginTop="4dp"/>
|
||||
|
||||
<!-- 新增:实时距离显示(距离计算结果/未启用提示) -->
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_real_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#2196F3"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="实时距离未启用"/> <!-- 默认提示(isEnable=false时显示) -->
|
||||
android:textColor="#2E8B57"
|
||||
android:layout_marginTop="6dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="关联任务(已启用):"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#333333"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="4dp"/>
|
||||
|
||||
<cc.winboll.studio.positions.views.PositionTaskListView
|
||||
android:id="@+id/ptlv_simple_tasks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:layout_marginTop="4dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
184
positions/src/main/res/layout/item_position_task_edit.xml
Normal file
184
positions/src/main/res/layout/item_position_task_edit.xml
Normal file
@@ -0,0 +1,184 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp"
|
||||
android:background="@drawable/item_bg_edit"
|
||||
android:layout_marginBottom="8dp">
|
||||
|
||||
<!-- 1. 不可编辑字段(仅显示,灰色文字) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginBottom="10dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_edit_task_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
android:textColor="#999999"
|
||||
android:text="任务ID:"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_edit_position_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
android:textColor="#999999"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="位置ID:"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 2. 任务描述(可编辑) -->
|
||||
<EditText
|
||||
android:id="@+id/et_edit_task_desc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="请输入任务描述(如:到达后提醒打卡)"
|
||||
android:textSize="14sp"
|
||||
android:padding="8dp"
|
||||
android:background="@drawable/edittext_bg"
|
||||
android:layout_marginBottom="10dp"/>
|
||||
|
||||
<!-- 3. 距离条件(单选组:大于/小于) -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginBottom="10dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="距离条件:"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#333333"
|
||||
android:layout_marginRight="10dp"/>
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/rg_edit_distance_cond"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/rb_edit_greater"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="大于"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginRight="15dp"/>
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/rb_edit_less"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="小于"
|
||||
android:textSize="14sp"/>
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 4. 商议距离(可编辑,仅整数) -->
|
||||
<EditText
|
||||
android:id="@+id/et_edit_discuss_dist"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="请输入距离(米)"
|
||||
android:textSize="14sp"
|
||||
android:inputType="number"
|
||||
android:padding="8dp"
|
||||
android:background="@drawable/edittext_bg"
|
||||
android:layout_marginBottom="10dp"/>
|
||||
|
||||
<!-- 5. 启用状态(单选组:是/否) -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginBottom="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="启用任务:"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#333333"
|
||||
android:layout_marginRight="10dp"/>
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/rg_edit_is_enable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/rb_edit_enable_yes"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="是"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginRight="15dp"/>
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/rb_edit_enable_no"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="否"
|
||||
android:textSize="14sp"/>
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 6. 功能按钮(删除-红 / 取消-灰 / 确定-蓝) -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_edit_delete"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_delete_bg"
|
||||
android:text="删除"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
|
||||
<View
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_edit_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_cancel_bg"
|
||||
android:text="取消"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
|
||||
<View
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_edit_confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/btn_confirm_bg"
|
||||
android:text="确定"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="13sp"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
40
positions/src/main/res/layout/item_position_task_simple.xml
Normal file
40
positions/src/main/res/layout/item_position_task_simple.xml
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp"
|
||||
android:background="@drawable/item_bg_simple"
|
||||
android:layout_marginBottom="8dp">
|
||||
|
||||
<!-- 任务描述 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_task_desc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp"
|
||||
android:textColor="#333333"
|
||||
android:text="任务:无描述"/>
|
||||
|
||||
<!-- 距离条件 -->
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_distance_cond"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#666666"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="条件:距离 > 0 米"/>
|
||||
|
||||
<!-- 启用状态(简单视图仅显示“已启用”) -->
|
||||
<TextView
|
||||
android:id="@+id/tv_simple_is_enable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#2E8B57"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="状态:已启用"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
70
positions/src/main/res/layout/item_task_content.xml
Normal file
70
positions/src/main/res/layout/item_task_content.xml
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="8dp"
|
||||
android:background="@drawable/bg_task_item"
|
||||
android:layout_marginVertical="4dp">
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/cb_task_enable"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="12dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_task_desc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="任务描述"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/black" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_task_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="条件:大于 100 米"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/gray_dark"
|
||||
android:layout_marginTop="2dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginLeft="8dp">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_edit_task"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="30dp"
|
||||
android:text="修改"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginRight="4dp"
|
||||
android:background="@color/blue"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_delete_task"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="30dp"
|
||||
android:text="删除"
|
||||
android:textSize="12sp"
|
||||
android:background="@color/red"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
18
positions/src/main/res/layout/item_task_empty.xml
Normal file
18
positions/src/main/res/layout/item_task_empty.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="80dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/background_light">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_task_empty_tip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="暂无任务"
|
||||
android:textColor="@color/gray"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
16
positions/src/main/res/layout/view_position_task_list.xml
Normal file
16
positions/src/main/res/layout/view_position_task_list.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_position_tasks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white"
|
||||
android:paddingVertical="4dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -3,4 +3,31 @@
|
||||
<color name="colorPrimary">#009688</color>
|
||||
<color name="colorPrimaryDark">#00796B</color>
|
||||
<color name="colorAccent">#FF9800</color>
|
||||
</resources>
|
||||
<!-- 1. colorEnableGreen:简单视图“已启用”状态文字颜色(柔和绿色,不刺眼) -->
|
||||
<color name="colorEnableGreen">#2E8B57</color> <!-- 海绿色:比纯绿柔和,适合文字提示 -->
|
||||
|
||||
<!-- 2. colorGrayText:编辑视图“不可编辑字段”文字颜色(浅灰色,暗示“不可修改”) -->
|
||||
<color name="colorGrayText">#999999</color> <!-- 中浅灰:既不模糊,又能和可编辑文字区分开 -->
|
||||
|
||||
<!-- (可选补充)适配之前的背景资源颜色(避免后续新增资源报错,提前定义) -->
|
||||
<color name="colorItemSimpleBg">#F5F5F5</color> <!-- item_bg_simple 底色 -->
|
||||
<color name="colorItemEditBg">#EEEEEE</color> <!-- item_bg_edit 底色 -->
|
||||
<color name="colorItemBorder">#E0E0E0</color> <!-- 列表项边框颜色 -->
|
||||
<color name="colorRed">#F44336</color> <!-- 标准 Material 红色,可自定义RGB值 -->
|
||||
|
||||
<!-- 基础颜色:解决@color/gray未定义问题 -->
|
||||
<color name="gray">#9E9E9E</color> <!-- 浅灰色(用于提示文本、次要信息) -->
|
||||
<color name="gray_dark">#616161</color> <!-- 深灰色(备用,避免后续扩展缺失) -->
|
||||
|
||||
<!-- 其他已用颜色:确保布局中所有颜色引用都有定义 -->
|
||||
<color name="white">#FFFFFF</color> <!-- 白色(任务列表背景、弹窗背景) -->
|
||||
<color name="black">#000000</color> <!-- 黑色(任务描述文本) -->
|
||||
<color name="blue">#2196F3</color> <!-- 蓝色(编辑/保存按钮背景) -->
|
||||
<color name="red">#F44336</color> <!-- 红色(删除按钮背景) -->
|
||||
<color name="background_light">#F5F5F5</color> <!-- 浅灰背景(备用,提升页面质感) -->
|
||||
|
||||
<!-- 扩展颜色(避免后续新增功能时再次缺失) -->
|
||||
<color name="green">#4CAF50</color> <!-- 绿色(备用:如“启用”状态标识) -->
|
||||
<color name="yellow">#FFC107</color> <!-- 黄色(备用:如“提醒”标识) -->
|
||||
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user