diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
index afdec6e8..e21becca 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
@@ -39,6 +39,8 @@ class MainActivity : BaseActivity() {
     private lateinit var binding: ActivityMainBinding
     private val viewModel by viewModels<MainViewModel>()
 
+    var switchFragment = false
+
     //注入地图控制器
     @Inject
     lateinit var mapController: NIMapController
@@ -115,9 +117,9 @@ class MainActivity : BaseActivity() {
         viewModel.liveDataMenuState.observe(this) {
             binding.mainActivityMenu.isSelected = it
             if (it == true) {
-                binding.mainActivityMenuLayout.visibility = View.VISIBLE
+                binding.mainActivityMenuGroup.visibility = View.VISIBLE
             } else {
-                binding.mainActivityMenuLayout.visibility = View.GONE
+                binding.mainActivityMenuGroup.visibility = View.INVISIBLE
             }
 
         }
@@ -225,6 +227,32 @@ class MainActivity : BaseActivity() {
 
     }
 
+    /**
+     * zoomin
+     */
+    fun zoomInOnclick(view: View) {
+        mapController.animationHandler.zoomIn()
+    }
+
+    /**
+     * zoomOut
+     */
+    fun zoomOutOnclick(view: View) {
+        mapController.animationHandler.zoomOut()
+    }
+
+    /**
+     *
+     */
+    fun onSwitchFragment() {
+        switchFragment = !switchFragment
+        binding.mainActivityFragmentSwitch.isSelected = switchFragment
+        if (switchFragment) {
+            binding.mainActivityFragmentGroup.visibility = View.GONE
+        } else {
+            binding.mainActivityFragmentGroup.visibility = View.VISIBLE
+        }
+    }
 
     /**
      * 点击录音按钮
diff --git a/app/src/main/java/com/navinfo/omqs/ui/dialog/CommonDialog.java b/app/src/main/java/com/navinfo/omqs/ui/dialog/CommonDialog.java
index 44a7f960..4cac5dc0 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/dialog/CommonDialog.java
+++ b/app/src/main/java/com/navinfo/omqs/ui/dialog/CommonDialog.java
@@ -34,7 +34,6 @@ import com.navinfo.collect.library.sensor.ISensor.enmConnectionStatus;
 import com.navinfo.collect.library.sensor.ISensor.SensorWorkingMode;
 import com.navinfo.collect.library.garminvirbxe.SensorParams;
 import com.navinfo.collect.library.garminvirbxe.HostBean;
-import com.navinfo.collect.library.system.VLCApplication;
 import com.navinfo.omqs.Constant;
 import com.navinfo.omqs.R;
 import com.navinfo.omqs.ui.activity.map.MainActivity;
@@ -295,7 +294,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
                     mOneBtConnect.setPressed(false);
                     mOneBtConnect.setText("一键连接");
                     mStartOrEndTakePicture.setEnabled(false);
-                    mOneBtConnect.setBackgroundResource(R.drawable.btn_connect_bg_enabled);
+                    mOneBtConnect.setBackgroundResource(R.drawable.shape_btn_connect_bg_enabled);
                     updateCameraResources(1, getmDeviceNum());
 
                     Log.e("AAA", "未知返回");
@@ -485,7 +484,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
                 mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
                 stopVideo();
                 mOneBtConnect.setPressed(true);
-                mOneBtConnect.setBackgroundResource(R.drawable.btn_red_disconnect_bg);
+                mOneBtConnect.setBackgroundResource(R.drawable.shape_btn_red_disconnect_bg);
                 mOneBtConnect.setText("断开连接!");
                 //停止获取GPS状态
                 if (getmDeviceNum() == 1)
@@ -679,7 +678,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
         if (connectstate) {
             mOneBtConnect.setPressed(true);
 
-            mOneBtConnect.setBackgroundResource(R.drawable.btn_red_disconnect_bg);
+            mOneBtConnect.setBackgroundResource(R.drawable.shape_btn_red_disconnect_bg);
 
             mOneBtConnect.setText("断开连接!");
 
@@ -857,7 +856,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
                     //停止当前活动
                     takephotoManager.StopContinuousTakePhoto(mHostBean, getmDeviceNum());
 
-                    mOneBtConnect.setBackgroundResource(R.drawable.btn_connect_bg_enabled);
+                    mOneBtConnect.setBackgroundResource(R.drawable.shape_btn_connect_bg_enabled);
 
                     mOneBtConnect.setText("一键连接!");
 
@@ -1076,7 +1075,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
         connectstate = false;
         mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
         mOneBtConnect.setPressed(false);
-        mOneBtConnect.setBackgroundResource(R.drawable.btn_connect_bg_enabled);
+        mOneBtConnect.setBackgroundResource(R.drawable.shape_btn_connect_bg_enabled);
         mOneBtConnect.setText("一键连接");
         //增加按钮状态控制
         mStartOrEndTakePicture.setEnabled(false);
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
index f01bcb63..919b088b 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
@@ -23,6 +23,10 @@ import androidx.navigation.findNavController
 @AndroidEntryPoint
 class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
     private lateinit var binding: FragmentEvaluationResultBinding
+
+    /**
+     * 和[PhenomenonFragment],[ProblemLinkFragment],[EvaluationResultFragment]共用同一个viewModel
+     */
     private val viewModel by shareViewModels<EvaluationResultViewModel>("QsRecode")
 
     //    private val args:EmptyFragmentArgs by navArgs()
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt
index 586b7b68..4b30dd25 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/LeftAdapter.kt
@@ -29,10 +29,10 @@ class LeftAdapter(private var itemListener: ((Int, String) -> Unit?)? = null) :
         val title = data[position]
         bd.itemId.text = title
         if (selectTitle == title) {
-            bd.itemId.setBackgroundResource(R.drawable.drawable_bg_tittle_blue_bg_4_radius)
+            bd.itemId.setBackgroundResource(R.drawable.shape_rect_white_2dp_bg)
             bd.itemId.setTextColor(holder.viewBinding.root.context.getColor(R.color.highFontColor))
         } else {
-            bd.itemId.setBackgroundResource(R.drawable.drawable_bg_white_bg_4_radius)
+            bd.itemId.setBackgroundResource(R.drawable.shape_rect_white_2dp_bg)
             bd.itemId.setTextColor(holder.viewBinding.root.context.getColor(R.color.black))
         }
         bd.root.setOnClickListener {
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/MiddleAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/MiddleAdapter.kt
index 43602e5d..e2ce025f 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/MiddleAdapter.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/MiddleAdapter.kt
@@ -32,10 +32,10 @@ class MiddleAdapter(private var itemListener: ((Int, String) -> Unit?)? = null)
         layoutParams.width = 115
         bd.itemLayout.layoutParams = layoutParams
         if (selectTitle == title) {
-            bd.itemId.setBackgroundResource(R.drawable.drawable_bg_blue_bg_4_radius)
+            bd.itemId.setBackgroundResource(R.drawable.shape_bg_blue_bg_4_radius)
             bd.itemId.setTextColor(holder.viewBinding.root.context.getColor(R.color.white))
         } else {
-            bd.itemId.setBackgroundResource(R.drawable.drawable_bg_white_bg_4_radius)
+            bd.itemId.setBackgroundResource(R.drawable.shape_rect_white_2dp_bg)
             bd.itemId.setTextColor(holder.viewBinding.root.context.getColor(R.color.black))
         }
         bd.root.setOnClickListener {
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt
index c755ed89..4958f2e0 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt
@@ -19,6 +19,9 @@ class PhenomenonFragment :
     BaseFragment() {
     private var _binding: FragmentPhenomenonBinding? = null
     private val binding get() = _binding!!
+    /**
+     * 和[PhenomenonFragment],[ProblemLinkFragment],[EvaluationResultFragment]共用同一个viewModel
+     */
     private val viewModel: EvaluationResultViewModel by shareViewModels("QsRecode")
 
     override fun onCreateView(
@@ -112,14 +115,14 @@ class PhenomenonFragment :
         viewModel.liveDataMiddleTypeList.observe(viewLifecycleOwner) {
             middleAdapter.refreshData(it)
         }
-        binding.phenomenonDrawer.setOnClickListener {
-            when (binding.group.visibility) {
-                View.INVISIBLE, View.GONE ->
-                    binding.group.visibility = View.VISIBLE
-                else ->
-                    binding.group.visibility = View.GONE
-            }
-        }
+//        binding.phenomenonDrawer.setOnClickListener {
+//            when (binding.group.visibility) {
+//                View.INVISIBLE, View.GONE ->
+//                    binding.group.visibility = View.VISIBLE
+//                else ->
+//                    binding.group.visibility = View.GONE
+//            }
+//        }
 
         viewModel.getClassTypeList()
     }
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/ProblemLinkFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/ProblemLinkFragment.kt
index 26286848..0bdc6225 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/ProblemLinkFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/ProblemLinkFragment.kt
@@ -1,5 +1,6 @@
 package com.navinfo.omqs.ui.fragment.evaluationresult
 
+import android.os.Build
 import android.os.Bundle
 import android.util.Log
 import android.view.LayoutInflater
@@ -14,6 +15,11 @@ import com.navinfo.omqs.ui.other.shareViewModels
 class ProblemLinkFragment : BaseFragment() {
     private var _binding: FragmentProblemLinkBinding? = null
     private val binding get() = _binding!!
+
+    /**
+     * 和[PhenomenonFragment],[ProblemLinkFragment],[EvaluationResultFragment]共用同一个viewModel
+     */
+
     private val viewModel: EvaluationResultViewModel by shareViewModels("QsRecode")
 
     override fun onCreateView(
@@ -40,11 +46,13 @@ class ProblemLinkFragment : BaseFragment() {
         }
         binding.linkRightRecyclerview.adapter = rightAdapter
         //右侧菜单增加组标题
-        binding.linkRightRecyclerview.addItemDecoration(
-            RightGroupHeaderDecoration(
-                requireContext()
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+            binding.linkRightRecyclerview.addItemDecoration(
+                RightGroupHeaderDecoration(
+                    requireContext()
+                )
             )
-        )
+        }
         //右侧菜单查询数据监听
         viewModel.liveDataRightTypeList.observe(viewLifecycleOwner) {
             rightAdapter.refreshData(it)
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt
index 571b6024..b0d14d37 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt
@@ -114,7 +114,7 @@ class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
                         .animateTo(GeoPoint(40.1012346774074730, 116.25571303257621))
                 }
                 R.id.personal_center_menu_task_list -> {
-                    findNavController().navigate(R.id.TaskListFragment)
+                    findNavController().navigate(R.id.TaskManagerFragment)
                 }
                 R.id.personal_center_menu_qs_record_list -> {
                     findNavController().navigate(R.id.QsRecordListFragment)
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskAdapter.kt
new file mode 100644
index 00000000..86503718
--- /dev/null
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskAdapter.kt
@@ -0,0 +1,70 @@
+package com.navinfo.omqs.ui.fragment.tasklist
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import com.navinfo.collect.library.data.entity.HadLinkDvoBean
+import com.navinfo.omqs.R
+import com.navinfo.omqs.databinding.AdapterTaskBinding
+import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
+import com.navinfo.omqs.ui.other.BaseViewHolder
+
+
+interface TaskAdapterCallback {
+    fun itemOnClick(bean: HadLinkDvoBean)
+    fun editOnclick(position: Int, bean: HadLinkDvoBean)
+}
+
+/**
+ * 当前任务适配器
+ */
+class TaskAdapter(
+    private val callback: TaskAdapterCallback
+) : BaseRecyclerViewAdapter<HadLinkDvoBean>() {
+    private var selectPosition = -1
+
+
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
+        val viewBinding =
+            AdapterTaskBinding.inflate(LayoutInflater.from(parent.context), parent, false)
+        return BaseViewHolder(viewBinding)
+    }
+
+    override fun onViewRecycled(holder: BaseViewHolder) {
+        super.onViewRecycled(holder)
+    }
+
+    override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
+        val binding: AdapterTaskBinding =
+            holder.viewBinding as AdapterTaskBinding
+        val bean = data[position]
+        binding.taskLinkPid.text = "PID:${bean.linkPid}"
+        binding.taskMesh.text = "mesh:${bean.mesh}"
+        binding.root.isSelected = selectPosition == position
+        binding.root.setOnClickListener {
+            val pos = holder.adapterPosition
+            if (selectPosition != pos) {
+                val lastPos = selectPosition
+                selectPosition = pos
+                if (lastPos > -1 && lastPos < itemCount) {
+                    notifyItemChanged(lastPos)
+                }
+                binding.root.isSelected = true
+                callback.itemOnClick(bean)
+            }
+        }
+        binding.taskEdit.isSelected = bean.reason != ""
+        binding.taskEdit.setOnClickListener {
+            callback.editOnclick(position, bean)
+        }
+    }
+
+    override fun getItemViewRes(position: Int): Int {
+        return R.layout.adapter_task
+    }
+
+    fun resetSelect() {
+        selectPosition = -1
+    }
+}
+
+
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskFragment.kt
new file mode 100644
index 00000000..6461c8fb
--- /dev/null
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskFragment.kt
@@ -0,0 +1,104 @@
+package com.navinfo.omqs.ui.fragment.tasklist
+
+import android.app.AlertDialog
+import android.content.DialogInterface
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.EditText
+import androidx.lifecycle.lifecycleScope
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import com.navinfo.collect.library.data.entity.HadLinkDvoBean
+import com.navinfo.omqs.R
+import com.navinfo.omqs.databinding.FragmentTaskBinding
+import com.navinfo.omqs.databinding.FragmentTaskListBinding
+import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
+import com.navinfo.omqs.http.taskupload.TaskUploadManager
+import com.navinfo.omqs.ui.fragment.BaseFragment
+import com.navinfo.omqs.ui.other.shareViewModels
+import dagger.hilt.android.AndroidEntryPoint
+import kotlinx.coroutines.launch
+import javax.inject.Inject
+
+/**
+ * 当前任务的道路列表
+ */
+@AndroidEntryPoint
+class TaskFragment : BaseFragment() {
+
+    private var _binding: FragmentTaskBinding? = null
+
+    /**
+     * 和[TaskManagerFragment],[TaskListFragment],[TaskFragment]共用同一个viewModel
+     */
+    private val viewModel by shareViewModels<TaskViewModel>("Task")
+    private val binding get() = _binding!!
+    private val adapter: TaskAdapter by lazy {
+        TaskAdapter(object : TaskAdapterCallback {
+            override fun itemOnClick(bean: HadLinkDvoBean) {
+                viewModel.showCurrentLink(bean)
+            }
+
+            override fun editOnclick(position: Int, bean: HadLinkDvoBean) {
+                showLinkEditDialog(position, bean)
+            }
+        })
+    }
+
+
+    override fun onCreateView(
+        inflater: LayoutInflater, container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View {
+        _binding = FragmentTaskBinding.inflate(inflater, container, false)
+        return binding.root
+
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        val layoutManager = LinearLayoutManager(context)
+        //// 设置 RecyclerView 的固定大小,避免在滚动时重新计算视图大小和布局,提高性能
+        binding.taskRecyclerview.setHasFixedSize(true)
+        binding.taskRecyclerview.layoutManager = layoutManager
+        binding.taskRecyclerview.adapter = adapter
+        viewModel.liveDataTaskLinks.observe(viewLifecycleOwner) {
+            adapter.resetSelect()
+            adapter.refreshData(it)
+        }
+        viewModel.getTaskList(requireContext())
+
+    }
+
+    override fun onDestroyView() {
+        super.onDestroyView()
+        _binding = null
+    }
+
+    /**
+     * 显示link编辑dialog
+     */
+    private fun showLinkEditDialog(position: Int, bean: HadLinkDvoBean) {
+        val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null)
+        val inputDialog = MaterialAlertDialogBuilder(
+            requireContext()
+        ).setTitle("标记原因").setView(view)
+        var editText = view.findViewById<EditText>(R.id.dialog_edittext)
+        editText.setText(bean.reason)
+        inputDialog.setNegativeButton("取消") { dialog, _ ->
+            dialog.dismiss()
+        }
+        inputDialog.setPositiveButton("确定") { dialog, _ ->
+            lifecycleScope.launch {
+                val text = editText.text.toString()
+                viewModel.saveLinkReason(bean, text)
+                adapter.notifyItemChanged(position)
+                dialog.dismiss()
+            }
+
+        }
+        inputDialog.show()
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt
index 6b25c3f2..08e21371 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt
@@ -5,8 +5,8 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.lifecycle.Observer
-import com.navinfo.omqs.R
 import com.navinfo.collect.library.data.entity.TaskBean
+import com.navinfo.omqs.R
 import com.navinfo.omqs.databinding.AdapterTaskListBinding
 import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
 import com.navinfo.omqs.http.taskupload.TaskUploadManager
@@ -25,11 +25,13 @@ import com.navinfo.omqs.ui.other.BaseViewHolder
  */
 class TaskListAdapter(
     private val downloadManager: TaskDownloadManager,
-    private val uploadManager: TaskUploadManager
+    private val uploadManager: TaskUploadManager,
+    private var itemListener: ((Int, TaskBean) -> Unit?)? = null
 ) : BaseRecyclerViewAdapter<TaskBean>() {
+    private var selectPosition = -1
 
-
-    private val downloadBtnClick = View.OnClickListener() {
+    private
+    val downloadBtnClick = View.OnClickListener() {
         if (it.tag != null) {
             val taskBean = data[it.tag as Int]
             when (taskBean.status) {
@@ -53,7 +55,7 @@ class TaskListAdapter(
             val taskBean = data[it.tag as Int]
             Log.e("jingo", "开始上传 ${taskBean.syncStatus}")
             when (taskBean.syncStatus) {
-                FileUploadStatus.NONE, FileUploadStatus.ERROR,FileUploadStatus.WAITING -> {
+                FileUploadStatus.NONE, FileUploadStatus.ERROR, FileUploadStatus.WAITING -> {
                     uploadManager.start(taskBean.id)
                 }
             }
@@ -80,7 +82,7 @@ class TaskListAdapter(
         holder.tag = taskBean.id.toString()
         changeViews(binding, taskBean)
         downloadManager.addTask(taskBean)
-        downloadManager.observer(taskBean.id, holder, DownloadObserver(taskBean.id, binding))
+        downloadManager.observer(taskBean.id, holder, DownloadObserver(taskBean.id, holder))
         uploadManager.addTask(taskBean)
         uploadManager.observer(taskBean.id, holder, UploadObserver(taskBean.id, binding))
         binding.taskDownloadBtn.tag = position
@@ -91,14 +93,32 @@ class TaskListAdapter(
         binding.taskCityName.text = taskBean.cityName
         binding.taskDataVersion.text = "版本号:${taskBean.dataVersion}"
         binding.taskColor.setTextColor(taskBean.color)
-//        binding.offlineMapCitySize.text = cityBean.getFileSizeText()
+        binding.root.isSelected = selectPosition == position
+        binding.root.setOnClickListener {
+            val pos = holder.adapterPosition
+            if (selectPosition != pos) {
+                val lastPos = selectPosition
+                selectPosition = pos
+                if (lastPos > -1) {
+                    notifyItemChanged(lastPos)
+                }
+                binding.root.isSelected = true
+                itemListener?.invoke(position, taskBean)
+            }
+
+        }
     }
 
-    inner class DownloadObserver(val id: Int, val binding: AdapterTaskListBinding) :
+    inner class DownloadObserver(val id: Int, val holder: BaseViewHolder) :
         Observer<TaskBean> {
-        override fun onChanged(t: TaskBean?) {
-            if (id == t?.id)
-                changeViews(binding, t)
+        override fun onChanged(taskBean: TaskBean?) {
+            taskBean?.let { bean ->
+                if (id.toString() == holder.tag) {
+                    val binding: AdapterTaskListBinding =
+                        holder.viewBinding as AdapterTaskListBinding
+                    changeViews(binding, bean)
+                }
+            }
         }
     }
 
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListFragment.kt
index b93c7bb6..d6c6e697 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListFragment.kt
@@ -11,22 +11,31 @@ import com.navinfo.omqs.databinding.FragmentTaskListBinding
 import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
 import com.navinfo.omqs.http.taskupload.TaskUploadManager
 import com.navinfo.omqs.ui.fragment.BaseFragment
+import com.navinfo.omqs.ui.other.shareViewModels
 import dagger.hilt.android.AndroidEntryPoint
 import javax.inject.Inject
 
 @AndroidEntryPoint
-class TaskListFragment : BaseFragment(){
+class TaskListFragment : BaseFragment() {
+
     @Inject
     lateinit var downloadManager: TaskDownloadManager
+
     @Inject
     lateinit var uploadManager: TaskUploadManager
     private var _binding: FragmentTaskListBinding? = null
-    private val viewModel by viewModels<TaskListViewModel>()
+
+    /**
+     * 和[TaskManagerFragment],[TaskListFragment],[TaskFragment]共用同一个viewModel
+     */
+    private val viewModel by shareViewModels<TaskViewModel>("Task")
     private val binding get() = _binding!!
     private val adapter: TaskListAdapter by lazy {
         TaskListAdapter(
-            downloadManager,uploadManager
-        )
+            downloadManager, uploadManager
+        ) { position, taskBean ->
+            viewModel.setSelectTaskBean(taskBean)
+        }
     }
 
     override fun onCreateView(
@@ -44,16 +53,13 @@ class TaskListFragment : BaseFragment(){
         super.onViewCreated(view, savedInstanceState)
         val layoutManager = LinearLayoutManager(context)
         //// 设置 RecyclerView 的固定大小,避免在滚动时重新计算视图大小和布局,提高性能
-        binding.taskRecyclerview.setHasFixedSize(true)
-        binding.taskRecyclerview.layoutManager = layoutManager
-        binding.taskRecyclerview.adapter = adapter
+        binding.taskListRecyclerview.setHasFixedSize(true)
+        binding.taskListRecyclerview.layoutManager = layoutManager
+        binding.taskListRecyclerview.adapter = adapter
         viewModel.liveDataTaskList.observe(viewLifecycleOwner) {
             adapter.refreshData(it)
         }
-        viewModel.getTaskList(requireContext())
-        binding.taskBack.setOnClickListener{
-            findNavController().navigateUp()
-        }
+
     }
 
     override fun onDestroyView() {
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerAdapter.kt
new file mode 100644
index 00000000..bbe2e0bd
--- /dev/null
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerAdapter.kt
@@ -0,0 +1,25 @@
+package com.navinfo.omqs.ui.fragment.tasklist
+
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import androidx.viewpager2.adapter.FragmentStateAdapter
+
+/**
+ * 离线地图主页面,viewpage适配器
+ */
+class TaskManagerAdapter(activity: FragmentActivity) :
+    FragmentStateAdapter(activity) {
+    private val taskListFragment = TaskListFragment()
+    private val taskFragment = TaskFragment()
+    override fun getItemCount(): Int {
+        return 2
+    }
+
+    override fun createFragment(position: Int): Fragment {
+        return when (position) {
+            0 -> taskFragment
+            else ->
+                taskListFragment
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt
new file mode 100644
index 00000000..8c74cdfc
--- /dev/null
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt
@@ -0,0 +1,64 @@
+package com.navinfo.omqs.ui.fragment.tasklist
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.navigation.fragment.findNavController
+import com.google.android.material.tabs.TabLayoutMediator
+import com.navinfo.omqs.databinding.FragmentTaskManagerBinding
+import com.navinfo.omqs.ui.fragment.BaseFragment
+import com.navinfo.omqs.ui.other.shareViewModels
+import dagger.hilt.android.AndroidEntryPoint
+
+/**
+ * 评测任务viewpager管理页面
+ */
+@AndroidEntryPoint
+class TaskManagerFragment : BaseFragment() {
+    private var _binding: FragmentTaskManagerBinding? = null
+
+    private val binding get() = _binding!!
+
+    /**
+     * 和[TaskManagerFragment],[TaskListFragment],[TaskFragment]共用同一个viewModel
+     */
+    private val viewModel by shareViewModels<TaskViewModel>("Task")
+
+    override fun onCreateView(
+        inflater: LayoutInflater, container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View {
+        _binding = FragmentTaskManagerBinding.inflate(inflater, container, false)
+        return binding.root
+
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+
+        //禁止滑动,因为页面在抽屉里,和抽屉的滑动有冲突
+        binding.taskManagerViewpager.isUserInputEnabled = false
+        //创建viewpager2的适配器
+        binding.taskManagerViewpager.adapter = activity?.let { TaskManagerAdapter(it) }
+        //绑定viewpager2与tabLayout
+        TabLayoutMediator(
+            binding.taskManagerTabLayout,
+            binding.taskManagerViewpager
+        ) { tab, position ->
+            when (position) {
+                0 -> tab.text = "当前任务"
+                1 -> tab.text = "任务列表"
+            }
+        }.attach()
+        viewModel.getTaskList(requireContext())
+        binding.taskBack.setOnClickListener {
+            findNavController().navigateUp()
+        }
+    }
+
+    override fun onDestroyView() {
+        super.onDestroyView()
+        _binding = null
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt
similarity index 55%
rename from app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListViewModel.kt
rename to app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt
index 7f2c178d..6ea1334c 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListViewModel.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt
@@ -3,14 +3,15 @@ package com.navinfo.omqs.ui.fragment.tasklist
 import android.content.Context
 import android.graphics.Color
 import android.os.Build
-import android.util.Log
 import android.widget.Toast
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
-import com.navinfo.collect.library.map.NIMapController
-import com.navinfo.omqs.Constant
+import com.navinfo.collect.library.data.entity.HadLinkDvoBean
 import com.navinfo.collect.library.data.entity.TaskBean
+import com.navinfo.collect.library.map.NIMapController
+import com.navinfo.collect.library.utils.GeometryTools
+import com.navinfo.omqs.Constant
 import com.navinfo.omqs.http.NetResult
 import com.navinfo.omqs.http.NetworkService
 import com.navinfo.omqs.tools.FileManager
@@ -24,16 +25,29 @@ import javax.inject.Inject
 
 
 @HiltViewModel
-class TaskListViewModel @Inject constructor(
+class TaskViewModel @Inject constructor(
     private val networkService: NetworkService,
     private val mapController: NIMapController
 ) : ViewModel() {
 
+    /**
+     * 用来更新任务列表
+     */
     val liveDataTaskList = MutableLiveData<List<TaskBean>>()
 
-    val colors =
+    /**
+     * 用来更新当前任务
+     */
+    val liveDataTaskLinks = MutableLiveData<List<HadLinkDvoBean>>()
+    private val colors =
         arrayOf(Color.RED, Color.YELLOW, Color.BLUE, Color.MAGENTA, Color.GREEN, Color.CYAN)
 
+    /**
+     * 当前选中的任务
+     */
+    private var currentSelectTaskBean: TaskBean? = null
+
+
     /**
      * 下载任务列表
      */
@@ -54,7 +68,6 @@ class TaskListViewModel @Inject constructor(
                                     ).findFirst()
                                     if (item != null) {
                                         task.fileSize = item.fileSize
-                                        Log.e("jingo", "当前文件大小 ${task.fileSize}")
                                         task.status = item.status
                                         task.currentSize = item.currentSize
                                         task.color = item.color
@@ -106,12 +119,94 @@ class TaskListViewModel @Inject constructor(
 //            }
 //            niMapController.lineHandler.omdbTaskLinkLayer.update()
             liveDataTaskList.postValue(taskList)
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-                mapController.lineHandler.omdbTaskLinkLayer.removeAll()
-                for (item in taskList) {
-                    mapController.lineHandler.omdbTaskLinkLayer.setLineColor(Color.valueOf(item.color))
-                    mapController.lineHandler.omdbTaskLinkLayer.addLineList(item.hadLinkDvoList)
+//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+//                mapController.lineHandler.omdbTaskLinkLayer.removeAll()
+//                if(taskList.isNotEmpty()){
+//                    mapController.lineHandler.omdbTaskLinkLayer.addLineList(item.hadLinkDvoList)
+//                }
+//                for (item in taskList) {
+//                    mapController.lineHandler.omdbTaskLinkLayer.setLineColor(Color.valueOf(item.color))
+//
+//                }
+//            }
+        }
+    }
+
+    /**
+     * 设置当前选择的任务,并高亮当前任务的所有link
+     */
+    fun setSelectTaskBean(taskBean: TaskBean) {
+        currentSelectTaskBean = taskBean
+        liveDataTaskLinks.value = taskBean.hadLinkDvoList
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            mapController.lineHandler.omdbTaskLinkLayer.removeAll()
+            mapController.lineHandler.omdbTaskLinkLayer.addLineList(taskBean.hadLinkDvoList)
+            var maxX = 0.0
+            var maxY = 0.0
+            var minX = 0.0
+            var minY = 0.0
+            for (item in taskBean.hadLinkDvoList) {
+                val geometry = GeometryTools.createGeometry(item.geometry)
+                val envelope = geometry.envelopeInternal
+                if (envelope.maxX > maxX) {
+                    maxX = envelope.maxX
                 }
+                if (envelope.maxY > maxY) {
+                    maxY = envelope.maxY
+                }
+                if (envelope.minX < minX || minX == 0.0) {
+                    minX = envelope.minX
+                }
+                if (envelope.minY < minY || minY == 0.0) {
+                    minY = envelope.minY
+                }
+            }
+            mapController.animationHandler.animateToBox(
+                maxX = maxX,
+                maxY = maxY,
+                minX = minX,
+                minY = minY
+            )
+        }
+    }
+
+    /**
+     * 高亮当前选中的link
+     */
+    fun showCurrentLink(link: HadLinkDvoBean) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            mapController.lineHandler.omdbTaskLinkLayer.showSelectLine(link)
+            val geometry = GeometryTools.createGeometry(link.geometry)
+            val envelope = geometry.envelopeInternal
+            mapController.animationHandler.animateToBox(
+                maxX = envelope.maxX,
+                maxY = envelope.maxY,
+                minX = envelope.minX,
+                minY = envelope.minY
+            )
+        }
+    }
+
+    override fun onCleared() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+            mapController.lineHandler.omdbTaskLinkLayer.clearSelectLine()
+        }
+        super.onCleared()
+    }
+
+
+    suspend fun saveLinkReason(bean: HadLinkDvoBean, text: String) {
+        withContext(Dispatchers.IO) {
+            currentSelectTaskBean?.let {
+                for (item in it.hadLinkDvoList) {
+                    if (item.linkPid == bean.linkPid) {
+                        item.reason = text
+                    }
+                }
+            }
+            val realm = Realm.getDefaultInstance()
+            realm.executeTransaction {
+                realm.copyToRealmOrUpdate(currentSelectTaskBean)
             }
         }
     }
diff --git a/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt
index c575d0ca..5be587b3 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt
@@ -63,13 +63,13 @@ class SignUtil {
             try {
                 //限速标志 0 限速开始 1 限速解除
                 return when (data.properties["speed_flag"]) {
-                    "1" -> return R.drawable.icon_speed_limit_off
-                    else -> return R.drawable.icon_speed_limit
+                    "1" -> return R.drawable.shape_icon_speed_limit_off
+                    else -> return R.drawable.shape_icon_speed_limit
                 }
             } catch (e: Exception) {
                 Log.e("jingo", "获取限速面板ICON出错2 $e")
             }
-            return R.drawable.icon_speed_limit
+            return R.drawable.shape_icon_speed_limit
         }
 
         /**
@@ -86,7 +86,7 @@ class SignUtil {
                 2041 -> getLaneNumIcon(data)
                 //限速
                 4002 -> getSpeedLimitIcon(data)
-                else -> R.drawable.icon_speed_limit
+                else -> R.drawable.shape_icon_speed_limit
             }
 
         }
@@ -99,24 +99,24 @@ class SignUtil {
             try {
                 val kind = data.properties["kind"]
                 return when (kind!!.toInt()) {
-                    1 -> R.mipmap.icon_kind_code_k1
-                    2 -> R.mipmap.icon_kind_code_k2
-                    3 -> R.mipmap.icon_kind_code_k3
-                    4 -> R.mipmap.icon_kind_code_k4
-                    6 -> R.mipmap.icon_kind_code_k6
-                    7 -> R.mipmap.icon_kind_code_k7
-                    8 -> R.mipmap.icon_kind_code_k8
-                    9 -> R.mipmap.icon_kind_code_k9
-                    10 -> R.mipmap.icon_kind_code_k10
-                    11 -> R.mipmap.icon_kind_code_k11
-                    13 -> R.mipmap.icon_kind_code_k13
-                    15 -> R.mipmap.icon_kind_code_k15
-                    else -> R.mipmap.icon_kind_code
+                    1 -> R.drawable.icon_kind_code_k1
+                    2 -> R.drawable.icon_kind_code_k2
+                    3 -> R.drawable.icon_kind_code_k3
+                    4 -> R.drawable.icon_kind_code_k4
+                    6 -> R.drawable.icon_kind_code_k6
+                    7 -> R.drawable.icon_kind_code_k7
+                    8 -> R.drawable.icon_kind_code_k8
+                    9 -> R.drawable.icon_kind_code_k9
+                    10 -> R.drawable.icon_kind_code_k10
+                    11 -> R.drawable.icon_kind_code_k11
+                    13 -> R.drawable.icon_kind_code_k13
+                    15 -> R.drawable.icon_kind_code_k15
+                    else -> R.drawable.icon_kind_code
                 }
             } catch (e: Exception) {
                 Log.e("jingo", "获取种别面板ICON出错 $e")
             }
-            return R.mipmap.icon_kind_code
+            return R.drawable.icon_kind_code
         }
 
         /**
@@ -126,41 +126,41 @@ class SignUtil {
             try {
                 val lineNum = data.properties["laneNum"]
                 return when (lineNum!!.toInt()) {
-                    1 -> R.mipmap.icon_lane_num1
-                    2 -> R.mipmap.icon_lane_num2
-                    3 -> R.mipmap.icon_lane_num3
-                    4 -> R.mipmap.icon_lane_num4
-                    5 -> R.mipmap.icon_lane_num5
-                    6 -> R.mipmap.icon_lane_num6
-                    7 -> R.mipmap.icon_lane_num7
-                    8 -> R.mipmap.icon_lane_num8
-                    9 -> R.mipmap.icon_lane_num9
-                    10 -> R.mipmap.icon_lane_num10
-                    11 -> R.mipmap.icon_lane_num11
-                    12 -> R.mipmap.icon_lane_num12
-                    else -> R.mipmap.icon_lane_num1
+                    1 -> R.drawable.icon_lane_num1
+                    2 -> R.drawable.icon_lane_num2
+                    3 -> R.drawable.icon_lane_num3
+                    4 -> R.drawable.icon_lane_num4
+                    5 -> R.drawable.icon_lane_num5
+                    6 -> R.drawable.icon_lane_num6
+                    7 -> R.drawable.icon_lane_num7
+                    8 -> R.drawable.icon_lane_num8
+                    9 -> R.drawable.icon_lane_num9
+                    10 -> R.drawable.icon_lane_num10
+                    11 -> R.drawable.icon_lane_num11
+                    12 -> R.drawable.icon_lane_num12
+                    else -> R.drawable.icon_lane_num1
                 }
             } catch (e: Exception) {
                 Log.e("jingo", "获取车道数面板ICON出错 $e")
             }
-            return R.mipmap.icon_road_direction
+            return R.drawable.icon_road_direction
         }
 
         fun getRoadDirection(data: RenderEntity): Int {
             try {
                 val direct = data.properties["direct"]
                 return when (direct!!.toInt()) {
-                    0 -> R.mipmap.icon_road_direction
-                    1 -> R.mipmap.icon_road_direction
-                    2 -> R.mipmap.icon_road_direction
-                    3 -> R.mipmap.icon_road_direction
-                    -99 -> R.mipmap.icon_road_direction
-                    else -> R.mipmap.icon_road_direction
+                    0 -> R.drawable.icon_road_direction
+                    1 -> R.drawable.icon_road_direction
+                    2 -> R.drawable.icon_road_direction
+                    3 -> R.drawable.icon_road_direction
+                    -99 -> R.drawable.icon_road_direction
+                    else -> R.drawable.icon_road_direction
                 }
             } catch (e: Exception) {
                 Log.e("jingo", "获取道路方向面板ICON出错 $e")
             }
-            return R.mipmap.icon_road_direction
+            return R.drawable.icon_road_direction
         }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/res/color/btn_blue_white.xml b/app/src/main/res/color/btn_blue_white.xml
deleted file mode 100644
index b8464420..00000000
--- a/app/src/main/res/color/btn_blue_white.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false" android:color="#8cc1ff"/>
-    <item android:state_checked="true" android:color="@color/white"></item>
-    <item android:state_selected="true" android:color="@color/white"></item>
-    <item android:state_pressed="true" android:color="@color/white"></item>
-    <item android:color="#108ee9"></item>
-</selector>
diff --git a/app/src/main/res/color/font_blue_reg.xml b/app/src/main/res/color/font_blue_reg.xml
deleted file mode 100644
index 99b71983..00000000
--- a/app/src/main/res/color/font_blue_reg.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:color="#FF3030"></item>
-    <item android:state_selected="true" android:color="#FF3030"></item>
-    <item android:color="#1ABBFE"></item>
-</selector>
diff --git a/app/src/main/res/color/selector_default_text_color_black_enable_white.xml b/app/src/main/res/color/selector_default_text_color_black_enable_white.xml
deleted file mode 100644
index 9efaa342..00000000
--- a/app/src/main/res/color/selector_default_text_color_black_enable_white.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false"  android:color="@color/white" />
-    <item android:state_pressed="true"  android:color="@color/white" />
-    <item android:state_selected="true"  android:color="@color/white" />
-    <item android:state_checked="true"  android:color="@color/white" />
-    <item android:color="@color/black" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/baseline_delete_forever_24.xml b/app/src/main/res/drawable-v24/baseline_delete_forever_24.xml
index 32fc924a..893db1df 100644
--- a/app/src/main/res/drawable-v24/baseline_delete_forever_24.xml
+++ b/app/src/main/res/drawable-v24/baseline_delete_forever_24.xml
@@ -1,5 +1,10 @@
-<vector android:height="24dp" android:tint="#100F0F"
-    android:viewportHeight="24" android:viewportWidth="24"
-    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:tint="#100F0F"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z" />
 </vector>
diff --git a/app/src/main/res/drawable-v24/baseline_edit_note_48.xml b/app/src/main/res/drawable-v24/baseline_edit_note_48.xml
new file mode 100644
index 00000000..e3023098
--- /dev/null
+++ b/app/src/main/res/drawable-v24/baseline_edit_note_48.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#91909A"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M3,10h11v2H3V10zM3,8h11V6H3V8zM3,16h7v-2H3V16zM18.01,12.87l0.71,-0.71c0.39,-0.39 1.02,-0.39 1.41,0l0.71,0.71c0.39,0.39 0.39,1.02 0,1.41l-0.71,0.71L18.01,12.87zM17.3,13.58l-5.3,5.3V21h2.12l5.3,-5.3L17.3,13.58z"/>
+</vector>
diff --git a/app/src/main/res/drawable-v24/baseline_edit_note_48_select.xml b/app/src/main/res/drawable-v24/baseline_edit_note_48_select.xml
new file mode 100644
index 00000000..04b03748
--- /dev/null
+++ b/app/src/main/res/drawable-v24/baseline_edit_note_48_select.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#4953ED"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M3,10h11v2H3V10zM3,8h11V6H3V8zM3,16h7v-2H3V16zM18.01,12.87l0.71,-0.71c0.39,-0.39 1.02,-0.39 1.41,0l0.71,0.71c0.39,0.39 0.39,1.02 0,1.41l-0.71,0.71L18.01,12.87zM17.3,13.58l-5.3,5.3V21h2.12l5.3,-5.3L17.3,13.58z"/>
+</vector>
diff --git a/app/src/main/res/drawable-v24/baseline_keyboard_arrow_down_12.xml b/app/src/main/res/drawable-v24/baseline_keyboard_arrow_down_12.xml
new file mode 100644
index 00000000..2806f919
--- /dev/null
+++ b/app/src/main/res/drawable-v24/baseline_keyboard_arrow_down_12.xml
@@ -0,0 +1,5 @@
+<vector android:height="12dp" android:tint="#4953FD"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="12dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M7.41,8.59L12,13.17l4.59,-4.58L18,10l-6,6 -6,-6 1.41,-1.41z"/>
+</vector>
diff --git a/app/src/main/res/drawable-v24/baseline_my_location_24.xml b/app/src/main/res/drawable-v24/baseline_my_location_24.xml
deleted file mode 100644
index 5747dc82..00000000
--- a/app/src/main/res/drawable-v24/baseline_my_location_24.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:height="24dp" android:tint="#18FD00"
-    android:viewportHeight="24" android:viewportWidth="24"
-    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/white" android:pathData="M12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zM20.94,11c-0.46,-4.17 -3.77,-7.48 -7.94,-7.94L13,1h-2v2.06C6.83,3.52 3.52,6.83 3.06,11L1,11v2h2.06c0.46,4.17 3.77,7.48 7.94,7.94L11,23h2v-2.06c4.17,-0.46 7.48,-3.77 7.94,-7.94L23,13v-2h-2.06zM12,19c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7z"/>
-</vector>
diff --git a/app/src/main/res/drawable-v24/baseline_save_24.xml b/app/src/main/res/drawable-v24/baseline_save_24.xml
deleted file mode 100644
index d4ab6604..00000000
--- a/app/src/main/res/drawable-v24/baseline_save_24.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:height="24dp" android:tint="#100F0F"
-    android:viewportHeight="24" android:viewportWidth="24"
-    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_baseline_check_24.xml b/app/src/main/res/drawable-v24/ic_baseline_check_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_check_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_check_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_format_list_bulleted_24.xml b/app/src/main/res/drawable-v24/ic_baseline_format_list_bulleted_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_format_list_bulleted_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_format_list_bulleted_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_generating_tokens_24.xml b/app/src/main/res/drawable-v24/ic_baseline_generating_tokens_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_generating_tokens_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_generating_tokens_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_keyboard_arrow_down_24.xml b/app/src/main/res/drawable-v24/ic_baseline_keyboard_arrow_down_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_keyboard_arrow_down_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_keyboard_arrow_down_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_keyboard_arrow_left_24.xml b/app/src/main/res/drawable-v24/ic_baseline_keyboard_arrow_left_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_keyboard_arrow_left_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_keyboard_arrow_left_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_keyboard_arrow_right_24.xml b/app/src/main/res/drawable-v24/ic_baseline_keyboard_arrow_right_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_keyboard_arrow_right_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_keyboard_arrow_right_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_layers_24.xml b/app/src/main/res/drawable-v24/ic_baseline_layers_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_layers_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_layers_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_playlist_add_check_24.xml b/app/src/main/res/drawable-v24/ic_baseline_playlist_add_check_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_playlist_add_check_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_playlist_add_check_24.xml
diff --git a/app/src/main/res/drawable/ic_baseline_scatter_plot_24.xml b/app/src/main/res/drawable-v24/ic_baseline_scatter_plot_24.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_baseline_scatter_plot_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_scatter_plot_24.xml
diff --git a/app/src/main/res/drawable-v24/ic_baseline_search_24.xml b/app/src/main/res/drawable-v24/ic_baseline_search_24.xml
new file mode 100644
index 00000000..2abcc4f1
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_baseline_search_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="@color/input_edit_hint_color"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@color/input_edit_hint_color" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_baseline_sim_card_download_24.xml b/app/src/main/res/drawable-v24/ic_baseline_sim_card_download_24.xml
similarity index 59%
rename from app/src/main/res/drawable/ic_baseline_sim_card_download_24.xml
rename to app/src/main/res/drawable-v24/ic_baseline_sim_card_download_24.xml
index 9e5481d6..d9821700 100644
--- a/app/src/main/res/drawable/ic_baseline_sim_card_download_24.xml
+++ b/app/src/main/res/drawable-v24/ic_baseline_sim_card_download_24.xml
@@ -1,5 +1,19 @@
 <vector android:height="24dp" android:tint="#2C2C2C"
     android:viewportHeight="24" android:viewportWidth="24"
     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/white" android:pathData="M18,2h-8L4,8v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4C20,2.9 19.1,2 18,2zM12,17l-4,-4h3V9.02L13,9v4h3L12,17z"/>
+    <path android:fillColor="@android:color/white" android:pathData="M18,
+    2h-8L4,
+    8v12c0,
+    1.1 0.9,
+    2 2,
+    2h12c1.1,
+    0 2,
+    -0.9 2,
+    -2V4C20,
+    2.9 19.1,
+    2 18,
+    2zM12,
+    17l-4,
+    -4h3V9.02L13,
+    9v4h3L12,17z"/>
 </vector>
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index 2b068d11..00000000
--- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
-        <aapt:attr name="android:fillColor">
-            <gradient
-                android:endX="85.84757"
-                android:endY="92.4963"
-                android:startX="42.9492"
-                android:startY="49.59793"
-                android:type="linear">
-                <item
-                    android:color="#44000000"
-                    android:offset="0.0" />
-                <item
-                    android:color="#00000000"
-                    android:offset="1.0" />
-            </gradient>
-        </aapt:attr>
-    </path>
-    <path
-        android:fillColor="#FFFFFF"
-        android:fillType="nonZero"
-        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
-        android:strokeWidth="1"
-        android:strokeColor="#00000000" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-xhdpi/icon_2d_3d.png b/app/src/main/res/drawable-xhdpi/icon_2d_3d.png
deleted file mode 100644
index 9c70cab2..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_2d_3d.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_add_data.png b/app/src/main/res/drawable-xhdpi/icon_add_data.png
deleted file mode 100644
index c70122f1..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_add_data.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_add_voice.png b/app/src/main/res/drawable-xhdpi/icon_add_voice.png
deleted file mode 100644
index 9be4643f..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_add_voice.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_back_n.png b/app/src/main/res/drawable-xhdpi/icon_back_n.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/icon_back_n.png
rename to app/src/main/res/drawable-xhdpi/icon_back_n.png
diff --git a/app/src/main/res/mipmap-xhdpi/icon_back_p.png b/app/src/main/res/drawable-xhdpi/icon_back_p.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/icon_back_p.png
rename to app/src/main/res/drawable-xhdpi/icon_back_p.png
diff --git a/app/src/main/res/drawable-xhdpi/icon_calc_disance.png b/app/src/main/res/drawable-xhdpi/icon_calc_disance.png
deleted file mode 100644
index eecd40b6..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_calc_disance.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_camera.png b/app/src/main/res/drawable-xhdpi/icon_camera.png
deleted file mode 100644
index 1c910fb0..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_camera.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_delete_p.png b/app/src/main/res/drawable-xhdpi/icon_delete_p.png
deleted file mode 100644
index 2ee67fa8..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_delete_p.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_location.png b/app/src/main/res/drawable-xhdpi/icon_location.png
deleted file mode 100644
index 61d0be51..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_location.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_page_video_a1.png b/app/src/main/res/drawable-xhdpi/icon_page_video_a1.png
deleted file mode 100644
index 79cb8662..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_page_video_a1.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_save.png b/app/src/main/res/drawable-xhdpi/icon_save.png
deleted file mode 100644
index 3959e452..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_save.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_serach.png b/app/src/main/res/drawable-xhdpi/icon_serach.png
deleted file mode 100644
index 51d0c7ae..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_serach.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_trace.png b/app/src/main/res/drawable-xhdpi/icon_trace.png
deleted file mode 100644
index 71b9dc90..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_trace.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/icon_voice.png b/app/src/main/res/drawable-xhdpi/icon_voice.png
deleted file mode 100644
index 2b778ad9..00000000
Binary files a/app/src/main/res/drawable-xhdpi/icon_voice.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/login_bg.png b/app/src/main/res/drawable-xhdpi/login_bg.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/login_bg.png
rename to app/src/main/res/drawable-xhdpi/login_bg.png
diff --git a/app/src/main/res/mipmap-xhdpi/login_password.png b/app/src/main/res/drawable-xhdpi/login_password.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/login_password.png
rename to app/src/main/res/drawable-xhdpi/login_password.png
diff --git a/app/src/main/res/mipmap-xhdpi/login_username.png b/app/src/main/res/drawable-xhdpi/login_username.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/login_username.png
rename to app/src/main/res/drawable-xhdpi/login_username.png
diff --git a/app/src/main/res/mipmap-xhdpi/point_blue.png b/app/src/main/res/drawable-xhdpi/point_blue.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/point_blue.png
rename to app/src/main/res/drawable-xhdpi/point_blue.png
diff --git a/app/src/main/res/mipmap-xxhdpi/bg_sign.png b/app/src/main/res/drawable-xxhdpi/bg_sign.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/bg_sign.png
rename to app/src/main/res/drawable-xxhdpi/bg_sign.png
diff --git a/app/src/main/res/drawable-xxhdpi/icon_2d_3d.png b/app/src/main/res/drawable-xxhdpi/icon_2d_3d.png
index 0fad4581..9d357dd5 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_2d_3d.png and b/app/src/main/res/drawable-xxhdpi/icon_2d_3d.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_add_data.png b/app/src/main/res/drawable-xxhdpi/icon_add_data.png
index 3248fa7c..565137b1 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_add_data.png and b/app/src/main/res/drawable-xxhdpi/icon_add_data.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_add_voice.png b/app/src/main/res/drawable-xxhdpi/icon_add_voice.png
index 0435274c..cec5a4b5 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_add_voice.png and b/app/src/main/res/drawable-xxhdpi/icon_add_voice.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_calc_disance.png b/app/src/main/res/drawable-xxhdpi/icon_calc_disance.png
index 84768467..01df311f 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_calc_disance.png and b/app/src/main/res/drawable-xxhdpi/icon_calc_disance.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_camera.png b/app/src/main/res/drawable-xxhdpi/icon_camera.png
deleted file mode 100644
index 4416e550..00000000
Binary files a/app/src/main/res/drawable-xxhdpi/icon_camera.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_clear.png b/app/src/main/res/drawable-xxhdpi/icon_clear.png
new file mode 100644
index 00000000..e51ef3aa
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_clear.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_delete_p.png b/app/src/main/res/drawable-xxhdpi/icon_delete_p.png
deleted file mode 100644
index 2ee67fa8..00000000
Binary files a/app/src/main/res/drawable-xxhdpi/icon_delete_p.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_fragment_close.png b/app/src/main/res/drawable-xxhdpi/icon_fragment_close.png
new file mode 100644
index 00000000..b026297c
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_fragment_close.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_fragment_switch_off.png b/app/src/main/res/drawable-xxhdpi/icon_fragment_switch_off.png
new file mode 100644
index 00000000..269d46e0
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_fragment_switch_off.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_fragment_switch_on.png b/app/src/main/res/drawable-xxhdpi/icon_fragment_switch_on.png
new file mode 100644
index 00000000..61e70310
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_fragment_switch_on.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k1.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k1.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k1.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k1.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k10.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k10.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k10.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k10.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k11.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k11.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k11.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k11.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k13.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k13.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k13.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k13.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k15.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k15.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k15.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k15.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k2.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k2.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k2.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k2.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k3.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k3.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k3.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k3.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k4.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k4.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k4.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k4.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k6.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k6.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k6.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k6.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k7.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k7.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k7.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k7.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k8.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k8.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k8.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k8.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_kind_code_k9.png b/app/src/main/res/drawable-xxhdpi/icon_kind_code_k9.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_kind_code_k9.png
rename to app/src/main/res/drawable-xxhdpi/icon_kind_code_k9.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num1.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num1.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num1.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num1.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num10.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num10.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num10.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num10.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num11.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num11.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num11.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num11.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num12.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num12.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num12.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num12.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num2.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num2.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num2.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num2.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num3.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num3.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num3.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num3.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num4.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num4.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num4.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num4.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num5.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num5.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num5.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num5.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num6.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num6.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num6.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num6.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num7.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num7.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num7.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num7.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num8.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num8.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num8.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num8.png
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_lane_num9.png b/app/src/main/res/drawable-xxhdpi/icon_lane_num9.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_lane_num9.png
rename to app/src/main/res/drawable-xxhdpi/icon_lane_num9.png
diff --git a/app/src/main/res/drawable-xxhdpi/icon_location.png b/app/src/main/res/drawable-xxhdpi/icon_location.png
index ce19c87f..9f85a338 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_location.png and b/app/src/main/res/drawable-xxhdpi/icon_location.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_geometry.png b/app/src/main/res/drawable-xxhdpi/icon_main_geometry.png
new file mode 100644
index 00000000..b1dcb59e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_main_geometry.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_page_video_a1.png b/app/src/main/res/drawable-xxhdpi/icon_page_video_a1.png
index 1547202e..9df1a1ab 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_page_video_a1.png and b/app/src/main/res/drawable-xxhdpi/icon_page_video_a1.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_road_direction.png b/app/src/main/res/drawable-xxhdpi/icon_road_direction.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/icon_road_direction.png
rename to app/src/main/res/drawable-xxhdpi/icon_road_direction.png
diff --git a/app/src/main/res/drawable-xxhdpi/icon_save.png b/app/src/main/res/drawable-xxhdpi/icon_save.png
index 3959e452..436c6527 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_save.png and b/app/src/main/res/drawable-xxhdpi/icon_save.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_serach.png b/app/src/main/res/drawable-xxhdpi/icon_serach.png
index 61c8031e..f131eedf 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_serach.png and b/app/src/main/res/drawable-xxhdpi/icon_serach.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_task.png b/app/src/main/res/drawable-xxhdpi/icon_task.png
new file mode 100644
index 00000000..91c3d4ae
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_task.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_task_select.png b/app/src/main/res/drawable-xxhdpi/icon_task_select.png
new file mode 100644
index 00000000..679d56e9
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_task_select.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_trace.png b/app/src/main/res/drawable-xxhdpi/icon_trace.png
index cd9c40ea..e5f45350 100644
Binary files a/app/src/main/res/drawable-xxhdpi/icon_trace.png and b/app/src/main/res/drawable-xxhdpi/icon_trace.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_voice.png b/app/src/main/res/drawable-xxhdpi/icon_voice.png
deleted file mode 100644
index ab2df025..00000000
Binary files a/app/src/main/res/drawable-xxhdpi/icon_voice.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_zoom_in.png b/app/src/main/res/drawable-xxhdpi/icon_zoom_in.png
new file mode 100644
index 00000000..ecfdefd9
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_zoom_in.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_zoom_out.png b/app/src/main/res/drawable-xxhdpi/icon_zoom_out.png
new file mode 100644
index 00000000..abfd325c
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_zoom_out.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/login_bg.png b/app/src/main/res/drawable-xxhdpi/login_bg.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/login_bg.png
rename to app/src/main/res/drawable-xxhdpi/login_bg.png
diff --git a/app/src/main/res/mipmap-xxhdpi/login_password.png b/app/src/main/res/drawable-xxhdpi/login_password.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/login_password.png
rename to app/src/main/res/drawable-xxhdpi/login_password.png
diff --git a/app/src/main/res/mipmap-xxhdpi/login_username.png b/app/src/main/res/drawable-xxhdpi/login_username.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/login_username.png
rename to app/src/main/res/drawable-xxhdpi/login_username.png
diff --git a/app/src/main/res/drawable/bg_select_sound_xml.xml b/app/src/main/res/drawable/bg_select_sound_xml.xml
deleted file mode 100644
index 46b9cf09..00000000
--- a/app/src/main/res/drawable/bg_select_sound_xml.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@drawable/icon_select_sound_press"/>
-    <item android:state_selected="true" android:drawable="@drawable/icon_select_sound_press"/>
-    <item android:drawable="@drawable/icon_select_sound_defaule"/>
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_back_xml.xml b/app/src/main/res/drawable/btn_back_xml.xml
deleted file mode 100644
index 7368f389..00000000
--- a/app/src/main/res/drawable/btn_back_xml.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_enabled="true" android:state_pressed="false" android:drawable="@mipmap/icon_back_n"/>
-    <item android:state_pressed="true" android:drawable="@mipmap/icon_back_p"/>
-	<item android:state_enabled="false" android:drawable="@mipmap/icon_back_n"/>
-</selector>
diff --git a/app/src/main/res/drawable/dialog_bg.xml b/app/src/main/res/drawable/dialog_bg.xml
deleted file mode 100644
index c08ea5cd..00000000
--- a/app/src/main/res/drawable/dialog_bg.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle" >
-
-    <corners
-        android:bottomLeftRadius="@dimen/five"
-        android:bottomRightRadius="@dimen/five"
-        android:topLeftRadius="@dimen/five"
-        android:topRightRadius="@dimen/five" />
-
-    <solid android:color="@color/white" />
-<!--     <solid android:color="@color/fm_kit_white" /> -->
-
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dialog_bg_cancel.xml b/app/src/main/res/drawable/dialog_bg_cancel.xml
deleted file mode 100644
index f46b1ed1..00000000
--- a/app/src/main/res/drawable/dialog_bg_cancel.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
-    >
-     <item android:state_enabled="false">
-	    <shape android:shape="rectangle" >
-		    <corners android:bottomLeftRadius="@dimen/five" />
-		    <solid android:color="@color/line_gray" />
-	    </shape>
-    </item>
-    <item android:state_pressed="true">
-	    <shape android:shape="rectangle" >
-		    <corners android:bottomLeftRadius="@dimen/five" />
-		    <solid android:color="#f1f1f1" />
-	    </shape>
-    </item>
-<!-- 		    <solid android:color="@color/fm_card_default_bg_color" /> -->
-    <item >
-		<shape android:shape="rectangle" >
-		    <corners android:bottomLeftRadius="@dimen/five" />
-		    <solid android:color="@android:color/white" />
-	    </shape>
-    </item>
-</selector>
diff --git a/app/src/main/res/drawable/dialog_bg_ok.xml b/app/src/main/res/drawable/dialog_bg_ok.xml
deleted file mode 100644
index 5dee094d..00000000
--- a/app/src/main/res/drawable/dialog_bg_ok.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
-    >
-      <item android:state_enabled="false">
-		<shape android:shape="rectangle" >
-		    <corners   android:bottomRightRadius="@dimen/five" />
-		    <solid android:color="#e1e1e1" />
-	    </shape>
-    </item>
-    <item android:state_pressed="true">
-		<shape android:shape="rectangle" >
-		    <corners   android:bottomRightRadius="@dimen/five" />
-		    <solid android:color="#f1f1f1" />
-	    </shape>
-    </item>
-<!-- 		    <solid android:color="@color/fm_card_default_bg_color" /> -->
-    <item >
-		<shape android:shape="rectangle" >
-		    <corners android:bottomRightRadius="@dimen/five" />
-		    <solid android:color="@android:color/white" />
-	    </shape>
-    </item>
-</selector>
diff --git a/app/src/main/res/drawable/drawable_bg_tittle_blue_bg_4_radius.xml b/app/src/main/res/drawable/drawable_bg_tittle_blue_bg_4_radius.xml
deleted file mode 100644
index bf8bb180..00000000
--- a/app/src/main/res/drawable/drawable_bg_tittle_blue_bg_4_radius.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android" >
-    <solid android:color="@color/high_item_color" />
-    <corners
-        android:bottomLeftRadius="5dp"
-        android:bottomRightRadius="5dp"
-        android:topLeftRadius="5dp"
-        android:topRightRadius="5dp" />
-    <padding
-        android:bottom="1dp"
-        android:left="1dp"
-        android:right="1dp"
-        android:top="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/drawable_bg_white_bg_4_radius.xml b/app/src/main/res/drawable/drawable_bg_white_bg_4_radius.xml
deleted file mode 100644
index c5e07a55..00000000
--- a/app/src/main/res/drawable/drawable_bg_white_bg_4_radius.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android" >
-    <solid android:color="@color/white" />
-    <corners
-        android:bottomLeftRadius="5dp"
-        android:bottomRightRadius="5dp"
-        android:topLeftRadius="5dp"
-        android:topRightRadius="5dp" />
-    <padding
-        android:bottom="1dp"
-        android:left="1dp"
-        android:right="1dp"
-        android:top="1dp"/>
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/fm_card_map_btn_bg_line.xml b/app/src/main/res/drawable/fm_card_map_btn_bg_line.xml
deleted file mode 100644
index 518567e4..00000000
--- a/app/src/main/res/drawable/fm_card_map_btn_bg_line.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"><shape android:shape="rectangle">
-        <gradient android:type="linear" android:useLevel="true" android:startColor="#03bef3" android:endColor="#0c5ce8" android:angle="45" />
-        <corners android:topLeftRadius="2dp" android:topRightRadius="0dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="0dp" />
-    </shape></item>
-    <item android:state_focused="true"><shape android:shape="rectangle">
-        <gradient android:type="linear" android:useLevel="true" android:startColor="#03bef3" android:endColor="#0c5ce8" android:angle="45" />
-        <corners android:topLeftRadius="2dp" android:topRightRadius="0dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="0dp" />
-    </shape></item>
-    <item android:state_checked="true"><shape android:shape="rectangle">
-        <gradient android:type="linear" android:useLevel="true" android:startColor="#03bef3" android:endColor="#0c5ce8" android:angle="45" />
-        <corners android:topLeftRadius="2dp" android:topRightRadius="0dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="0dp" />
-    </shape></item>
-    <item android:state_selected="true"><shape android:shape="rectangle">
-        <gradient android:type="linear" android:useLevel="true" android:startColor="#03bef3" android:endColor="#0c5ce8" android:angle="45" />
-        <corners android:topLeftRadius="2dp" android:topRightRadius="0dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="0dp" />
-    </shape></item>
-    <item>
-        <shape android:shape="rectangle">
-            <solid android:color="#ff043683" />
-            <corners android:topLeftRadius="0dp" android:topRightRadius="2dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="2dp" />
-        </shape></item>
-	
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/fm_card_map_down_status_bg.xml b/app/src/main/res/drawable/fm_card_map_down_status_bg.xml
deleted file mode 100644
index 1dddca69..00000000
--- a/app/src/main/res/drawable/fm_card_map_down_status_bg.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false">
-        <shape>
-            <padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
-            <solid android:color="@color/cv_gray_153" />
-            <corners android:radius="@dimen/default_widget_padding"></corners>
-            <stroke android:width="1.1dp" android:color="@color/cv_gray_153" />
-        </shape>
-    </item>
-    <item android:state_pressed="true">
-        <shape>
-            <padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
-            <solid android:color="@color/white" />
-            <corners android:radius="@dimen/default_widget_padding"></corners>
-            <stroke android:width="1.1dp" android:color="@color/colorSecondary" />
-        </shape>
-    </item>
-    <item android:state_checked="true">
-        <shape>
-            <padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
-            <solid android:color="@color/white" />
-            <corners android:radius="@dimen/default_widget_padding"></corners>
-            <stroke android:width="1.1dp" android:color="@color/colorSecondary" />
-        </shape>
-    </item>
-    <item android:state_selected="true">
-        <shape>
-            <padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
-            <solid android:color="@color/cvm_red" />
-            <corners android:radius="@dimen/default_widget_padding"></corners>
-            <stroke android:width="1.1dp" android:color="@color/cvm_red" />
-        </shape>
-    </item>
-    <item>
-        <shape>
-            <padding android:bottom="@dimen/default_widget_padding" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="@dimen/default_widget_padding"></padding>
-            <solid android:color="@color/transp" />
-            <corners android:radius="@dimen/default_widget_padding"></corners>
-            <stroke android:width="1.1dp" android:color="@color/colorPrimary" />
-        </shape>
-    </item>
-
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_baseline_search_24.xml b/app/src/main/res/drawable/ic_baseline_search_24.xml
deleted file mode 100644
index a3b7c80f..00000000
--- a/app/src/main/res/drawable/ic_baseline_search_24.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<vector android:height="24dp" android:tint="#2C2C2C"
-    android:viewportHeight="24" android:viewportWidth="24"
-    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 07d5da9c..00000000
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path
-        android:fillColor="#3DDC84"
-        android:pathData="M0,0h108v108h-108z" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M9,0L9,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,0L19,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,0L29,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,0L39,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,0L49,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,0L59,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,0L69,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,0L79,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M89,0L89,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M99,0L99,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,9L108,9"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,19L108,19"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,29L108,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,39L108,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,49L108,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,59L108,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,69L108,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,79L108,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,89L108,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,99L108,99"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,29L89,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,39L89,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,49L89,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,59L89,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,69L89,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,79L89,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,19L29,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,19L39,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,19L49,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,19L59,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,19L69,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,19L79,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-</vector>
diff --git a/app/src/main/res/drawable/icon_down_arrow.png b/app/src/main/res/drawable/icon_down_arrow.png
deleted file mode 100644
index 0c6cf5de..00000000
Binary files a/app/src/main/res/drawable/icon_down_arrow.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_item_high_bg.9.png b/app/src/main/res/drawable/icon_item_high_bg.9.png
deleted file mode 100644
index 6dbdd625..00000000
Binary files a/app/src/main/res/drawable/icon_item_high_bg.9.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_map_zoom_in.xml b/app/src/main/res/drawable/icon_map_zoom_in.xml
new file mode 100644
index 00000000..23f9139d
--- /dev/null
+++ b/app/src/main/res/drawable/icon_map_zoom_in.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_pressed="true" android:drawable="@mipmap/icon_zoom_in_p"></item>
+    <item  android:drawable="@mipmap/icon_zoom_in"></item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_map_zoom_out.xml b/app/src/main/res/drawable/icon_map_zoom_out.xml
new file mode 100644
index 00000000..d2ecee10
--- /dev/null
+++ b/app/src/main/res/drawable/icon_map_zoom_out.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_pressed="true" android:drawable="@mipmap/icon_zoom_out_p"></item>
+    <item  android:drawable="@mipmap/icon_zoom_out"></item>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_select_sound_defaule.9.png b/app/src/main/res/drawable/icon_select_sound_defaule.9.png
deleted file mode 100644
index 61f976cd..00000000
Binary files a/app/src/main/res/drawable/icon_select_sound_defaule.9.png and /dev/null differ
diff --git a/app/src/main/res/drawable/icon_select_sound_press.9.png b/app/src/main/res/drawable/icon_select_sound_press.9.png
deleted file mode 100644
index a7d26589..00000000
Binary files a/app/src/main/res/drawable/icon_select_sound_press.9.png and /dev/null differ
diff --git a/app/src/main/res/drawable/ripple_btn_checked.xml b/app/src/main/res/drawable/ripple_btn_checked.xml
deleted file mode 100644
index 3d9ab431..00000000
--- a/app/src/main/res/drawable/ripple_btn_checked.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ripple
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="@color/ripple_color">
-    <item android:drawable="@drawable/shape_btn_check"/>
-</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ripple_btn_normal.xml b/app/src/main/res/drawable/ripple_btn_normal.xml
index 3fe0aef4..26bcf8ee 100644
--- a/app/src/main/res/drawable/ripple_btn_normal.xml
+++ b/app/src/main/res/drawable/ripple_btn_normal.xml
@@ -1,6 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
-<ripple
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="@color/ripple_color">
-    <item android:drawable="@drawable/shape_btn_normal"/>
+    <item>
+        <shape xmlns:android="http://schemas.android.com/apk/res/android">
+            <gradient
+                android:centerX="0.5"
+                android:centerY="0.5"
+                android:endColor="@color/ripple_end_color"
+                android:startColor="@color/default_button_blue_color"
+                android:type="linear" />
+            <corners android:radius="12dp" />
+        </shape>
+    </item>
 </ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ripple_fragment_save_botton_bg.xml b/app/src/main/res/drawable/ripple_fragment_save_botton_bg.xml
new file mode 100644
index 00000000..1a7673af
--- /dev/null
+++ b/app/src/main/res/drawable/ripple_fragment_save_botton_bg.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/ripple_color">
+    <item>
+        <shape android:shape="oval">
+            <gradient
+                android:endColor="@color/ripple_end_color"
+                android:startColor="@color/default_button_blue_color"
+                android:type="linear" />
+        </shape>
+    </item>
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_adapter_item_select_bg.xml b/app/src/main/res/drawable/selector_adapter_item_select_bg.xml
new file mode 100644
index 00000000..66130e40
--- /dev/null
+++ b/app/src/main/res/drawable/selector_adapter_item_select_bg.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@color/high_item_color" android:state_selected="true"></item>
+    <item android:drawable="@color/white" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_blue_gray_bg_4_radius.xml b/app/src/main/res/drawable/selector_bg_blue_gray_bg_4_radius.xml
index 63b99406..2cbf83c2 100644
--- a/app/src/main/res/drawable/selector_bg_blue_gray_bg_4_radius.xml
+++ b/app/src/main/res/drawable/selector_bg_blue_gray_bg_4_radius.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_enabled="false" android:drawable="@drawable/shade_btn_gray_bg_4_radius_hd"></item>
-    <item android:state_checked="true" android:drawable="@drawable/drawable_bg_blue_bg_4_radius"/>
-    <item android:state_pressed="true" android:drawable="@drawable/drawable_bg_blue_bg_4_radius"/>
-    <item android:state_selected="true" android:drawable="@drawable/drawable_bg_blue_bg_4_radius"></item>
-    <item android:drawable="@drawable/drawable_bg_blue_bg_4_radius"/>
+    <item android:state_checked="true" android:drawable="@drawable/shape_bg_blue_bg_4_radius"/>
+    <item android:state_pressed="true" android:drawable="@drawable/shape_bg_blue_bg_4_radius"/>
+    <item android:state_selected="true" android:drawable="@drawable/shape_bg_blue_bg_4_radius"></item>
+    <item android:drawable="@drawable/shape_bg_blue_bg_4_radius"/>
 
 </selector>
diff --git a/app/src/main/res/drawable/selector_bg_gradient_checkbox.xml b/app/src/main/res/drawable/selector_bg_gradient_checkbox.xml
index 0025cfcd..05a02e22 100644
--- a/app/src/main/res/drawable/selector_bg_gradient_checkbox.xml
+++ b/app/src/main/res/drawable/selector_bg_gradient_checkbox.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false" android:drawable="@drawable/ripple_btn_normal"></item>
-    <item android:state_checked="true" android:drawable="@drawable/ripple_btn_normal"/>
-    <item android:state_pressed="true" android:drawable="@drawable/ripple_btn_normal"/>
-    <item android:state_selected="true" android:drawable="@drawable/ripple_btn_normal"></item>
-    <item android:drawable="@drawable/ripple_btn_checked"/>
+    <item android:drawable="@drawable/ripple_btn_normal" android:state_enabled="false"></item>
+    <item android:drawable="@drawable/ripple_btn_normal" android:state_checked="true" />
+    <item android:drawable="@drawable/ripple_btn_normal" android:state_pressed="true" />
+    <item android:drawable="@drawable/ripple_btn_normal" android:state_selected="true"></item>
+    <item android:drawable="@drawable/shape_rect_e0dfe3_12dp_bg" />
 </selector>
diff --git a/app/src/main/res/drawable/selector_bg_video_button.xml b/app/src/main/res/drawable/selector_bg_video_button.xml
deleted file mode 100644
index 5815701e..00000000
--- a/app/src/main/res/drawable/selector_bg_video_button.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false" android:drawable="@drawable/ripple_btn_video_normal"></item>
-    <item android:state_checked="true" android:drawable="@drawable/ripple_btn_video_normal"/>
-    <item android:state_pressed="true" android:drawable="@drawable/ripple_btn_video_normal"/>
-    <item android:state_selected="true" android:drawable="@drawable/ripple_btn_video_normal"></item>
-    <item android:drawable="@drawable/ripple_btn_video_normal"/>
-</selector>
diff --git a/app/src/main/res/drawable/selector_bg_white_blue_bg_4_radius.xml b/app/src/main/res/drawable/selector_bg_white_blue_bg_4_radius.xml
deleted file mode 100644
index facbe9cb..00000000
--- a/app/src/main/res/drawable/selector_bg_white_blue_bg_4_radius.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false" android:drawable="@drawable/shade_btn_gray_bg_4_radius_hd"></item>
-    <item android:state_checked="true" android:drawable="@drawable/drawable_bg_blue_bg_4_radius"/>
-    <item android:state_pressed="true" android:drawable="@drawable/drawable_bg_blue_bg_4_radius"/>
-    <item android:state_selected="true" android:drawable="@drawable/drawable_bg_blue_bg_4_radius"></item>
-    <item android:drawable="@drawable/drawable_bg_white_bg_4_radius"/>
-
-</selector>
diff --git a/app/src/main/res/drawable/btn_delete_xml.xml b/app/src/main/res/drawable/selector_btn_back_xml.xml
similarity index 78%
rename from app/src/main/res/drawable/btn_delete_xml.xml
rename to app/src/main/res/drawable/selector_btn_back_xml.xml
index 22730a78..147a5505 100644
--- a/app/src/main/res/drawable/btn_delete_xml.xml
+++ b/app/src/main/res/drawable/selector_btn_back_xml.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/icon_delete"/>
-    <item android:state_pressed="true" android:drawable="@drawable/icon_delete_p"/>
-	<item android:state_enabled="false" android:drawable="@drawable/icon_delete"/>
+    <item android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/icon_back_n"/>
+    <item android:state_pressed="true" android:drawable="@drawable/icon_back_p"/>
+	<item android:state_enabled="false" android:drawable="@drawable/icon_back_n"/>
 </selector>
diff --git a/app/src/main/res/drawable/btn_bg_default.xml b/app/src/main/res/drawable/selector_btn_bg_default.xml
similarity index 100%
rename from app/src/main/res/drawable/btn_bg_default.xml
rename to app/src/main/res/drawable/selector_btn_bg_default.xml
diff --git a/app/src/main/res/drawable/selector_default_button_white_bg.xml b/app/src/main/res/drawable/selector_default_button_white_bg.xml
new file mode 100644
index 00000000..f79bccd6
--- /dev/null
+++ b/app/src/main/res/drawable/selector_default_button_white_bg.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_rect_white_press_6dp_bg" android:state_pressed="true"></item>
+    <item android:drawable="@drawable/shape_rect_white_6dp_bg" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_default_text_color_white_enable_gray.xml b/app/src/main/res/drawable/selector_default_text_color_white_enable_gray.xml
deleted file mode 100644
index 18707d36..00000000
--- a/app/src/main/res/drawable/selector_default_text_color_white_enable_gray.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false"  android:color="@color/line_gray" />
-    <item android:color="@color/white" />
-
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_fragment_switch.xml b/app/src/main/res/drawable/selector_fragment_switch.xml
new file mode 100644
index 00000000..873713ed
--- /dev/null
+++ b/app/src/main/res/drawable/selector_fragment_switch.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_selected="true"  android:drawable="@drawable/icon_fragment_switch_off"/>
+	<item android:state_selected="false" android:drawable="@drawable/icon_fragment_switch_on"/>
+</selector>
diff --git a/app/src/main/res/drawable/selector_road_line_bg.xml b/app/src/main/res/drawable/selector_road_line_bg.xml
new file mode 100644
index 00000000..290794cd
--- /dev/null
+++ b/app/src/main/res/drawable/selector_road_line_bg.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_rect_blue_6dp_bg" android:state_selected="true"></item>
+    <item android:drawable="@drawable/shape_rect_white_6dp_bg" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_road_line_btn_bg.xml b/app/src/main/res/drawable/selector_road_line_btn_bg.xml
deleted file mode 100644
index d4f61e9e..00000000
--- a/app/src/main/res/drawable/selector_road_line_btn_bg.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/shape_card_bg_select" android:state_selected="true"></item>
-    <item android:drawable="@drawable/shape_card_bg_default" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_task_head.xml b/app/src/main/res/drawable/selector_task_head.xml
new file mode 100644
index 00000000..2c068c15
--- /dev/null
+++ b/app/src/main/res/drawable/selector_task_head.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/icon_task_select" android:state_selected="true"></item>
+    <item android:drawable="@drawable/icon_task" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_task_link_edit_icon.xml b/app/src/main/res/drawable/selector_task_link_edit_icon.xml
new file mode 100644
index 00000000..654327b5
--- /dev/null
+++ b/app/src/main/res/drawable/selector_task_link_edit_icon.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/baseline_edit_note_48_select" android:state_selected="true"></item>
+    <item android:drawable="@drawable/baseline_edit_note_48" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_zoom_in_bg.xml b/app/src/main/res/drawable/selector_zoom_in_bg.xml
new file mode 100644
index 00000000..fc752924
--- /dev/null
+++ b/app/src/main/res/drawable/selector_zoom_in_bg.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_zoom_in_press_bg" android:state_pressed="true"></item>
+    <item android:drawable="@drawable/shape_zoom_in_bg" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_zoom_out_bg.xml b/app/src/main/res/drawable/selector_zoom_out_bg.xml
new file mode 100644
index 00000000..cd58f01f
--- /dev/null
+++ b/app/src/main/res/drawable/selector_zoom_out_bg.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/shape_zoom_out_press_bg" android:state_pressed="true"></item>
+    <item android:drawable="@drawable/shape_zoom_out_bg" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/drawable_bg_blue_bg_4_radius.xml b/app/src/main/res/drawable/shape_bg_blue_bg_4_radius.xml
similarity index 100%
rename from app/src/main/res/drawable/drawable_bg_blue_bg_4_radius.xml
rename to app/src/main/res/drawable/shape_bg_blue_bg_4_radius.xml
diff --git a/app/src/main/res/drawable/shape_btn_check.xml b/app/src/main/res/drawable/shape_btn_check.xml
deleted file mode 100644
index 3d3dd947..00000000
--- a/app/src/main/res/drawable/shape_btn_check.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <solid android:color="@color/colorSurface"></solid>
-    <stroke android:color="@color/cv_gray_153" android:width="0.1dp"></stroke>
-    <corners android:radius="30dp" />
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_connect_bg_enabled.xml b/app/src/main/res/drawable/shape_btn_connect_bg_enabled.xml
similarity index 51%
rename from app/src/main/res/drawable/btn_connect_bg_enabled.xml
rename to app/src/main/res/drawable/shape_btn_connect_bg_enabled.xml
index edd37fc7..f208d33e 100644
--- a/app/src/main/res/drawable/btn_connect_bg_enabled.xml
+++ b/app/src/main/res/drawable/shape_btn_connect_bg_enabled.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android" >
-            <solid android:color="@color/blue" />
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/blue" />
 
-            <corners android:radius="@dimen/five" />
+    <corners android:radius="@dimen/five" />
 </shape>
diff --git a/app/src/main/res/drawable/shape_btn_normal.xml b/app/src/main/res/drawable/shape_btn_normal.xml
deleted file mode 100644
index f5bc245f..00000000
--- a/app/src/main/res/drawable/shape_btn_normal.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <gradient android:type="linear"
-        android:centerX="0.5"
-        android:centerY="0.5"
-        android:startColor="#ff6d0bbd"
-        android:endColor="#ff445ff5" />
-    <corners android:radius="30dp" />
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_red_disconnect_bg.xml b/app/src/main/res/drawable/shape_btn_red_disconnect_bg.xml
similarity index 100%
rename from app/src/main/res/drawable/btn_red_disconnect_bg.xml
rename to app/src/main/res/drawable/shape_btn_red_disconnect_bg.xml
diff --git a/app/src/main/res/drawable/shape_btn_video_press.xml b/app/src/main/res/drawable/shape_btn_video_press.xml
deleted file mode 100644
index 14b565e9..00000000
--- a/app/src/main/res/drawable/shape_btn_video_press.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <solid android:color="@color/colorPrimarySurface"></solid>
-    <stroke android:color="@color/colorSecondary"></stroke>
-    <corners
-        android:bottomLeftRadius="8dp"
-        android:bottomRightRadius="8dp"
-        android:radius="20dp"
-        android:topLeftRadius="8dp"
-        android:topRightRadius="0dp" />
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_card_bg_default.xml b/app/src/main/res/drawable/shape_card_bg_default.xml
deleted file mode 100644
index e716c562..00000000
--- a/app/src/main/res/drawable/shape_card_bg_default.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <!-- 灰色阴影 -->
-    <item
-        android:bottom="1dp"
-        android:left="1dp"
-        android:right="1dp"
-        android:top="1dp">
-        <shape>
-            <solid android:color="#A1DBDCDF" />
-            <corners android:radius="2dp" />
-        </shape>
-    </item>
-    <!-- 白色前景 -->
-    <item
-        android:bottom="2dp"
-        android:left="2dp"
-        android:right="2dp"
-        android:top="2dp">
-        <shape>
-            <solid android:color="#FFFFFF" />
-            <corners android:radius="2dp" />
-        </shape>
-    </item>
-</layer-list>
-
diff --git a/app/src/main/res/drawable/shape_card_bg_select.xml b/app/src/main/res/drawable/shape_card_bg_select.xml
deleted file mode 100644
index 7dc4311f..00000000
--- a/app/src/main/res/drawable/shape_card_bg_select.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <!-- 灰色阴影 -->
-    <item
-        android:bottom="1dp"
-        android:left="1dp"
-        android:right="1dp"
-        android:top="1dp">
-        <shape>
-            <solid android:color="#A1DBDCDF" />
-            <corners android:radius="2dp" />
-        </shape>
-    </item>
-    <!-- 白色前景 -->
-    <item
-        android:bottom="2dp"
-        android:left="2dp"
-        android:right="2dp"
-        android:top="2dp">
-        <shape>
-            <solid android:color="#03A9F4" />
-            <corners android:radius="2dp" />
-        </shape>
-    </item>
-</layer-list>
-
diff --git a/app/src/main/res/drawable/shape_default_inputlayout_white_bg.xml b/app/src/main/res/drawable/shape_default_inputlayout_white_bg.xml
new file mode 100644
index 00000000..a814abce
--- /dev/null
+++ b/app/src/main/res/drawable/shape_default_inputlayout_white_bg.xml
@@ -0,0 +1,9 @@
+<?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="16dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#C1C0C8" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_speed_limit.xml b/app/src/main/res/drawable/shape_icon_speed_limit.xml
similarity index 100%
rename from app/src/main/res/drawable/icon_speed_limit.xml
rename to app/src/main/res/drawable/shape_icon_speed_limit.xml
diff --git a/app/src/main/res/drawable/icon_speed_limit_off.xml b/app/src/main/res/drawable/shape_icon_speed_limit_off.xml
similarity index 100%
rename from app/src/main/res/drawable/icon_speed_limit_off.xml
rename to app/src/main/res/drawable/shape_icon_speed_limit_off.xml
diff --git a/app/src/main/res/drawable/drawable_bg_blue_frame_white_bg_4_radius.xml b/app/src/main/res/drawable/shape_left_fragment_bg.xml
similarity index 53%
rename from app/src/main/res/drawable/drawable_bg_blue_frame_white_bg_4_radius.xml
rename to app/src/main/res/drawable/shape_left_fragment_bg.xml
index b3143d0b..20e9cee4 100644
--- a/app/src/main/res/drawable/drawable_bg_blue_frame_white_bg_4_radius.xml
+++ b/app/src/main/res/drawable/shape_left_fragment_bg.xml
@@ -1,17 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
     <solid android:color="@color/white" />
-    <stroke
-        android:width="1dp"
-        android:color="@color/highFontColor" />
-    <corners
-        android:bottomLeftRadius="5dp"
-        android:bottomRightRadius="5dp"
-        android:topLeftRadius="5dp"
-        android:topRightRadius="5dp" />
     <padding
         android:bottom="1dp"
         android:left="1dp"
         android:right="1dp"
-        android:top="1dp"/>
-</shape>
\ No newline at end of file
+        android:top="1dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#3756DF" />
+    <corners
+        android:bottomLeftRadius="0dp"
+        android:bottomRightRadius="6dp"
+        android:topLeftRadius="0dp"
+        android:topRightRadius="6dp" />
+</shape>
+
diff --git a/app/src/main/res/drawable/login_inputlayout_bg.xml b/app/src/main/res/drawable/shape_login_inputlayout_bg.xml
similarity index 100%
rename from app/src/main/res/drawable/login_inputlayout_bg.xml
rename to app/src/main/res/drawable/shape_login_inputlayout_bg.xml
diff --git a/app/src/main/res/drawable/shape_middle_fragment_bg.xml b/app/src/main/res/drawable/shape_middle_fragment_bg.xml
new file mode 100644
index 00000000..593ef0c2
--- /dev/null
+++ b/app/src/main/res/drawable/shape_middle_fragment_bg.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <!--    <padding-->
+    <!--        android:bottom="2dp"-->
+    <!--        android:left="2dp"-->
+    <!--        android:right="0dp"-->
+    <!--        android:top="2dp" />-->
+    <solid android:color="#FFFFFF" />
+    <stroke
+        android:width="1dp"
+        android:color="#3756DF" />
+    <corners
+        android:bottomLeftRadius="4dp"
+        android:bottomRightRadius="0dp"
+        android:topLeftRadius="4dp"
+        android:topRightRadius="0dp" />
+</shape>
+
diff --git a/app/src/main/res/drawable/shape_rect_blue_6dp_bg.xml b/app/src/main/res/drawable/shape_rect_blue_6dp_bg.xml
new file mode 100644
index 00000000..4dec9fa0
--- /dev/null
+++ b/app/src/main/res/drawable/shape_rect_blue_6dp_bg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="6dp"
+        android:bottomRightRadius="6dp"
+        android:topLeftRadius="6dp"
+        android:topRightRadius="6dp" />
+
+    <solid android:color="@color/default_button_blue_color" />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_rect_e0dfe3_12dp_bg.xml b/app/src/main/res/drawable/shape_rect_e0dfe3_12dp_bg.xml
new file mode 100644
index 00000000..e3dc2298
--- /dev/null
+++ b/app/src/main/res/drawable/shape_rect_e0dfe3_12dp_bg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="12dp"
+        android:bottomRightRadius="12dp"
+        android:topLeftRadius="12dp"
+        android:topRightRadius="12dp" />
+
+    <solid android:color="#E0DFE3" />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_rect_white_2dp_bg.xml b/app/src/main/res/drawable/shape_rect_white_2dp_bg.xml
new file mode 100644
index 00000000..afc8ff7f
--- /dev/null
+++ b/app/src/main/res/drawable/shape_rect_white_2dp_bg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="2dp"
+        android:bottomRightRadius="2dp"
+        android:topLeftRadius="2dp"
+        android:topRightRadius="2dp" />
+
+    <solid android:color="@color/white" />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_rect_white_6dp_bg.xml b/app/src/main/res/drawable/shape_rect_white_6dp_bg.xml
new file mode 100644
index 00000000..0f8cde0d
--- /dev/null
+++ b/app/src/main/res/drawable/shape_rect_white_6dp_bg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="6dp"
+        android:bottomRightRadius="6dp"
+        android:topLeftRadius="6dp"
+        android:topRightRadius="6dp" />
+
+    <solid android:color="@color/white" />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_rect_white_8dp_bg.xml b/app/src/main/res/drawable/shape_rect_white_8dp_bg.xml
new file mode 100644
index 00000000..0a88b450
--- /dev/null
+++ b/app/src/main/res/drawable/shape_rect_white_8dp_bg.xml
@@ -0,0 +1,11 @@
+<?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:bottomLeftRadius="8dp"
+        android:bottomRightRadius="8dp"
+        android:topLeftRadius="8dp"
+        android:topRightRadius="8dp" />
+</shape>
diff --git a/app/src/main/res/drawable/shape_rect_white_press_6dp_bg.xml b/app/src/main/res/drawable/shape_rect_white_press_6dp_bg.xml
new file mode 100644
index 00000000..9e134891
--- /dev/null
+++ b/app/src/main/res/drawable/shape_rect_white_press_6dp_bg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <corners
+        android:bottomLeftRadius="6dp"
+        android:bottomRightRadius="6dp"
+        android:topLeftRadius="6dp"
+        android:topRightRadius="6dp" />
+
+    <solid android:color="@color/button_press_color" />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_right_fragment_bg.xml b/app/src/main/res/drawable/shape_right_fragment_bg.xml
new file mode 100644
index 00000000..3dea44be
--- /dev/null
+++ b/app/src/main/res/drawable/shape_right_fragment_bg.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="#F5F7FE" />
+    <padding
+        android:bottom="1dp"
+        android:left="1dp"
+        android:right="1dp"
+        android:top="1dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#3756DF" />
+    <corners
+        android:bottomLeftRadius="4dp"
+        android:bottomRightRadius="0dp"
+        android:topLeftRadius="4dp"
+        android:topRightRadius="0dp" />
+</shape>
+
diff --git a/app/src/main/res/drawable/shape_zoom_in_bg.xml b/app/src/main/res/drawable/shape_zoom_in_bg.xml
new file mode 100644
index 00000000..a0f1d92a
--- /dev/null
+++ b/app/src/main/res/drawable/shape_zoom_in_bg.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--地图主页面 地图放大按钮背景,结合[selector_zoom_in_bg]使用-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/white" />
+    <corners
+        android:bottomLeftRadius="0dp"
+        android:bottomRightRadius="0dp"
+        android:topLeftRadius="11dp"
+        android:topRightRadius="11dp" />
+</shape>
+
diff --git a/app/src/main/res/drawable/shape_zoom_in_press_bg.xml b/app/src/main/res/drawable/shape_zoom_in_press_bg.xml
new file mode 100644
index 00000000..85a46565
--- /dev/null
+++ b/app/src/main/res/drawable/shape_zoom_in_press_bg.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--地图主页面 地图放大按钮按下效果背景,结合[selector_zoom_in_bg]使用-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/button_press_color" />
+    <corners
+        android:bottomLeftRadius="0dp"
+        android:bottomRightRadius="0dp"
+        android:topLeftRadius="11dp"
+        android:topRightRadius="11dp" />
+</shape>
+
diff --git a/app/src/main/res/drawable/shape_zoom_out_bg.xml b/app/src/main/res/drawable/shape_zoom_out_bg.xml
new file mode 100644
index 00000000..51dfdaac
--- /dev/null
+++ b/app/src/main/res/drawable/shape_zoom_out_bg.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--地图主页面 地图缩小按钮背景,结合[selector_zoom_out_bg]使用-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/white" />
+    <corners
+        android:bottomLeftRadius="11dp"
+        android:bottomRightRadius="11dp"
+        android:topLeftRadius="0dp"
+        android:topRightRadius="0dp" />
+</shape>
+
diff --git a/app/src/main/res/drawable/shape_zoom_out_press_bg.xml b/app/src/main/res/drawable/shape_zoom_out_press_bg.xml
new file mode 100644
index 00000000..c7283fc9
--- /dev/null
+++ b/app/src/main/res/drawable/shape_zoom_out_press_bg.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?><!--地图主页面 地图缩小按钮按下效果背景,结合[selector_zoom_out_bg]使用-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/button_press_color" />
+    <corners
+        android:bottomLeftRadius="11dp"
+        android:bottomRightRadius="11dp"
+        android:topLeftRadius="0dp"
+        android:topRightRadius="0dp" />
+</shape>
+
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 1cde83f9..415ee1e6 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -18,7 +18,7 @@
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@mipmap/login_bg">
+        android:background="@drawable/login_bg">
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="0dp"
@@ -76,7 +76,7 @@
                         android:id="@+id/login_fragment_user_layout"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        app:startIconDrawable="@mipmap/login_username"
+                        app:startIconDrawable="@drawable/login_username"
                         app:startIconTint="@color/colorSecondary"
                         android:scrollbarAlwaysDrawHorizontalTrack="true"
                         app:layout_constraintBottom_toBottomOf="parent"
@@ -91,7 +91,7 @@
                             android:layout_height="wrap_content"
                             android:hint="@string/input_user_name"
                             android:lines="1"
-                            android:background="@drawable/login_inputlayout_bg"
+                            android:background="@drawable/shape_login_inputlayout_bg"
                             android:text="@{loginUserModel.loginUser.username}"
                             tools:ignore="TouchTargetSizeCheck" />
                     </com.google.android.material.textfield.TextInputLayout>
@@ -99,7 +99,7 @@
                     <com.google.android.material.textfield.TextInputLayout
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        app:startIconDrawable="@mipmap/login_password"
+                        app:startIconDrawable="@drawable/login_password"
                         app:layout_constraintLeft_toLeftOf="parent"
                         app:layout_constraintRight_toRightOf="parent"
                         app:startIconTint="@color/colorSecondary"
@@ -112,7 +112,7 @@
                             android:hint="@string/input_password"
                             android:lines="1"
                             android:inputType="textPassword"
-                            android:background="@drawable/login_inputlayout_bg"
+                            android:background="@drawable/shape_login_inputlayout_bg"
                             android:text="@{loginUserModel.loginUser.password}"
                             tools:ignore="TouchTargetSizeCheck" />
                     </com.google.android.material.textfield.TextInputLayout>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index e1d7c190..d61ad0ba 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,6 +6,8 @@
 
     <data>
 
+        <import type="android.view.View" />
+
         <variable
             name="mainActivity"
             type="com.navinfo.omqs.ui.activity.map.MainActivity" />
@@ -36,6 +38,20 @@
                 app:layout_constraintTop_toTopOf="parent" />
 
 
+            <ImageButton
+                android:id="@+id/main_activity_camera2"
+                android:layout_width="48dp"
+                android:layout_height="48dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginTop="20dp"
+                android:background="@null"
+                android:onClick="@{()->mainActivity.openCamera()}"
+                android:src="@drawable/baseline_person_24"
+                android:visibility="gone"
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+
             <ImageButton
                 android:id="@+id/main_activity_person_center"
                 android:layout_width="48dp"
@@ -56,166 +72,194 @@
                 app:layout_constraintLeft_toLeftOf="@id/main_activity_person_center"
                 app:layout_constraintTop_toBottomOf="@id/main_activity_person_center" />
 
-            <LinearLayout
+            <androidx.constraintlayout.helper.widget.Flow
+                android:id="@+id/main_activity_flow"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/top_right_drawer_btns_mr"
+                app:constraint_referenced_ids="main_activity_serach,main_activity_2d_3d,main_activity_camera,main_activity_trace,main_activity_calc_disance,main_activity_menu"
+                app:flow_horizontalGap="6dp"
+                app:flow_wrapMode="aligned"
+                app:layout_constraintRight_toLeftOf="@id/main_activity_right_fragment"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <androidx.constraintlayout.widget.Group
+                android:id="@+id/main_activity_menu_group"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_marginRight="8dp"
-                android:layout_marginBottom="108dp"
-                android:orientation="vertical"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintRight_toLeftOf="@+id/main_activity_right_fragment"
-                app:layout_constraintRight_toRightOf="parent"
-                tools:ignore="MissingConstraints">
+                android:visibility="invisible"
+                app:constraint_referenced_ids="main_activity_serach,main_activity_2d_3d,main_activity_camera,main_activity_trace,main_activity_calc_disance" />
 
+            <ImageButton
+                android:id="@+id/main_activity_serach"
+                style="@style/top_right_drawer_btns_style"
+                android:onClick="@{()->mainActivity.onClickSerach()}"
+                android:src="@drawable/icon_serach" />
 
-                <ImageButton
-                    android:id="@+id/main_activity_select_line"
-                    android:layout_width="38dp"
-                    android:layout_height="38dp"
-                    android:layout_gravity="center_horizontal"
-                    android:background="@drawable/selector_road_line_btn_bg"
-                    android:onClick="@{()->mainActivity.selectLineOnclick()}"
-                    android:src="@drawable/selector_road_line_src" />
+            <ImageButton
+                android:id="@+id/main_activity_2d_3d"
+                style="@style/top_right_drawer_btns_style"
+                android:onClick="@{()->mainActivity.onClick2DOr3D()}"
+                android:src="@drawable/icon_2d_3d" />
 
-                <ImageButton
-                    android:id="@+id/main_activity_voice"
-                    android:layout_width="48dp"
-                    android:layout_height="48dp"
-                    android:background="@null"
-                    android:src="@drawable/icon_add_voice" />
+            <ImageButton
+                android:id="@+id/main_activity_camera"
+                style="@style/top_right_drawer_btns_style"
+                android:onClick="@{()->mainActivity.openCamera()}"
+                android:src="@drawable/icon_page_video_a1" />
 
-                <ImageButton
-                    android:id="@+id/main_activity_line"
-                    android:layout_width="48dp"
-                    android:layout_height="48dp"
-                    android:background="@null"
-                    android:onClick="@{()->mainActivity.voiceOnclick()}"
-                    android:src="@drawable/icon_add_data" />
+            <ImageButton
+                android:id="@+id/main_activity_trace"
+                style="@style/top_right_drawer_btns_style"
+                android:onClick="@{()->mainActivity.onClickTrace()}"
+                android:src="@drawable/icon_trace" />
 
-                <ImageButton
-                    android:id="@+id/main_activity_location"
-                    android:layout_width="48dp"
-                    android:layout_height="48dp"
-                    android:background="@null"
-                    android:onClick="@{()->viewModel.onClickLocationButton()}"
-                    android:src="@drawable/icon_location" />
+            <ImageButton
+                android:id="@+id/main_activity_calc_disance"
+                style="@style/top_right_drawer_btns_style"
+                android:onClick="@{()->mainActivity.onClickCalcDisance()}"
+                android:src="@drawable/icon_calc_disance" />
 
-            </LinearLayout>
+            <ImageButton
+                android:id="@+id/main_activity_menu"
+                android:layout_width="@dimen/top_right_drawer_wh"
+                android:layout_height="@dimen/top_right_drawer_wh"
+                android:background="@drawable/chk_icon_menu_open_close_xml"
+                android:elevation="2dp"
+                android:onClick="@{()->mainActivity.onClickMenu()}" />
+
+            <androidx.constraintlayout.widget.Barrier
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                app:barrierDirection="end"
+                app:constraint_referenced_ids="main_activity_fragment_switch" />
+
+            <ImageButton
+                android:id="@+id/main_activity_fragment_switch"
+                android:layout_width="32dp"
+                android:layout_height="32dp"
+                android:layout_marginRight="-10dp"
+                android:background="@drawable/selector_fragment_switch"
+                android:elevation="2dp"
+                android:onClick="@{()->mainActivity.onSwitchFragment()}"
+                app:layout_constraintBottom_toBottomOf="@id/main_activity_flow"
+                app:layout_constraintRight_toLeftOf="@id/main_activity_right_fragment"
+                app:layout_constraintTop_toTopOf="@id/main_activity_flow" />
 
             <fragment
-                android:id="@+id/main_activity_middle_fragment"
-                android:name="androidx.navigation.fragment.NavHostFragment"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintHorizontal_weight="6"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toLeftOf="@+id/main_activity_right_fragment"
-                app:layout_constraintTop_toTopOf="parent"
-                app:navGraph="@navigation/middle_fragment_nav_graph" />
-
-            <fragment
-                android:id="@id/main_activity_right_fragment"
+                android:id="@+id/main_activity_right_fragment"
                 android:name="androidx.navigation.fragment.NavHostFragment"
                 android:layout_width="wrap_content"
-                android:layout_height="match_parent"
+                android:layout_height="0dp"
+                android:elevation="3dp"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintLeft_toRightOf="@id/main_activity_middle_fragment"
                 app:layout_constraintRight_toRightOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
                 app:navGraph="@navigation/right_fragment_nav_graph" />
 
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
-                app:layout_constraintRight_toLeftOf="@+id/main_activity_right_fragment"
-                android:layout_marginRight="10dp"
-                android:orientation="horizontal"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                tools:ignore="MissingConstraints">
+            <TextView
+                android:id="@+id/main_activity_geometry"
+                android:layout_width="@dimen/main_activity_geometry_w"
+                android:layout_height="@dimen/main_activity_geometry_h"
+                android:layout_marginRight="16dp"
+                android:layout_marginBottom="16dp"
+                android:background="@drawable/shape_rect_white_8dp_bg"
+                android:drawableLeft="@drawable/icon_main_geometry"
+                android:elevation="2dp"
+                android:gravity="center"
+                android:paddingLeft="9dp"
+                android:text="经纬度:116.99388424,38.8403844"
+                android:textSize="10sp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintRight_toLeftOf="@id/main_activity_middle_fragment" />
 
-                <LinearLayout
-                    android:id="@+id/main_activity_menu_layout"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:orientation="horizontal"
-                    android:visibility="gone">
+            <ImageButton
+                android:id="@+id/main_activity_zoom_out"
+                android:layout_width="@dimen/zoom_btns_w"
+                android:layout_height="@dimen/zoom_btns_h"
+                android:layout_marginBottom="12dp"
+                android:background="@drawable/selector_zoom_out_bg"
+                android:elevation="2dp"
+                android:onClick="@{(view)->mainActivity.zoomOutOnclick(view)}"
+                android:padding="8dp"
+                android:src="@drawable/icon_zoom_out"
+                app:layout_constraintBottom_toTopOf="@id/main_activity_geometry"
+                app:layout_constraintRight_toRightOf="@id/main_activity_geometry" />
 
+            <ImageButton
+                android:id="@+id/main_activity_zoom_in"
+                android:layout_width="@dimen/zoom_btns_w"
+                android:layout_height="@dimen/zoom_btns_h"
+                android:background="@drawable/selector_zoom_in_bg"
+                android:elevation="2dp"
+                android:onClick="@{(view)->mainActivity.zoomInOnclick(view)}"
+                android:src="@drawable/icon_zoom_in"
+                app:layout_constraintBottom_toTopOf="@id/main_activity_zoom_out"
+                app:layout_constraintRight_toRightOf="@id/main_activity_zoom_out" />
 
-                    <ImageButton
-                        android:id="@+id/main_activity_serach"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/icon_serach"
-                        android:onClick="@{()->mainActivity.onClickSerach()}" />
+            <ImageButton
+                android:id="@+id/main_activity_location"
+                style="@style/zoom_btns_style"
+                android:layout_marginBottom="12dp"
+                android:onClick="@{()->viewModel.onClickLocationButton()}"
+                android:src="@drawable/icon_location"
+                app:layout_constraintBottom_toTopOf="@id/main_activity_zoom_in"
+                app:layout_constraintRight_toRightOf="@id/main_activity_zoom_in" />
 
-                    <ImageButton
-                        android:id="@+id/main_activity_2d_3d"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/icon_2d_3d"
-                        android:onClick="@{()->mainActivity.onClick2DOr3D()}" />
-
-                    <ImageButton
-                        android:id="@+id/main_activity_camera"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/icon_page_video_a1"
-                        android:onClick="@{()->mainActivity.openCamera()}" />
-
-                    <ImageButton
-                        android:id="@+id/main_activity_trace"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/icon_trace"
-                        android:onClick="@{()->mainActivity.onClickTrace()}" />
-
-                    <ImageButton
-                        android:id="@+id/main_activity_calc_disance"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/icon_calc_disance"
-                        android:onClick="@{()->mainActivity.onClickCalcDisance()}" />
-
-
-                </LinearLayout>
-
-
-                <ImageButton
-                    android:id="@+id/main_activity_menu"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="5dp"
-                    android:background="@drawable/chk_icon_menu_open_close_xml"
-                    android:onClick="@{()->mainActivity.onClickMenu()}" />
-
-            </LinearLayout>
+            <ImageButton
+                android:id="@+id/main_activity_add_new"
+                style="@style/zoom_btns_style"
+                android:layout_marginBottom="12dp"
+                android:onClick="@{()->mainActivity.voiceOnclick()}"
+                android:src="@drawable/icon_add_data"
+                app:layout_constraintBottom_toTopOf="@id/main_activity_location"
+                app:layout_constraintRight_toRightOf="@id/main_activity_location" />
 
+            <ImageButton
+                android:id="@+id/main_activity_voice"
+                style="@style/zoom_btns_style"
+                android:layout_marginBottom="12dp"
+                android:onClick="@{()->mainActivity.voiceOnclick()}"
+                android:src="@drawable/icon_add_voice"
+                app:layout_constraintBottom_toTopOf="@id/main_activity_add_new"
+                app:layout_constraintRight_toRightOf="@id/main_activity_add_new" />
 
 
             <ImageButton
-                android:id="@+id/main_activity_camera2"
-                android:layout_width="48dp"
-                android:layout_height="48dp"
-                android:layout_marginLeft="20dp"
-                android:layout_marginTop="20dp"
-                android:background="@null"
-                android:onClick="@{()->mainActivity.openCamera()}"
-                android:src="@drawable/baseline_person_24"
-                android:visibility="gone"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
+                android:id="@+id/main_activity_select_line"
+                style="@style/zoom_btns_style"
+                android:layout_marginBottom="12dp"
+                android:background="@drawable/selector_road_line_bg"
+                android:onClick="@{()->mainActivity.selectLineOnclick()}"
+                android:src="@drawable/selector_road_line_src"
+                app:layout_constraintBottom_toTopOf="@id/main_activity_voice"
+                app:layout_constraintRight_toRightOf="@id/main_activity_voice" />
 
+            <fragment
+                android:id="@+id/main_activity_middle_fragment"
+                android:name="androidx.navigation.fragment.NavHostFragment"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_marginTop="6dp"
+                android:layout_marginRight="-1dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintRight_toLeftOf="@id/main_activity_right_fragment"
+                app:layout_constraintTop_toBottomOf="@id/main_activity_flow"
+                app:navGraph="@navigation/middle_fragment_nav_graph" />
 
+            <androidx.constraintlayout.widget.Group
+                android:id="@+id/main_activity_fragment_group"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                app:constraint_referenced_ids="main_activity_right_fragment,main_activity_middle_fragment" />
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <fragment
             android:id="@+id/main_activity_drawer_fragment"
             android:name="androidx.navigation.fragment.NavHostFragment"
-            android:layout_width="300dp"
+            android:layout_width="323dp"
             android:layout_height="match_parent"
+            android:layout_marginTop="30dp"
             android:layout_gravity="left"
             app:navGraph="@navigation/left_drawer_nav_graph" />
 
diff --git a/app/src/main/res/layout/adapter_offline_map_city.xml b/app/src/main/res/layout/adapter_offline_map_city.xml
index 68d56864..a0e19109 100644
--- a/app/src/main/res/layout/adapter_offline_map_city.xml
+++ b/app/src/main/res/layout/adapter_offline_map_city.xml
@@ -25,7 +25,7 @@
         android:layout_height="wrap_content"
         android:layout_below="@id/offline_map_city_name"
         android:layout_marginTop="5dp"
-        android:drawableLeft="@mipmap/point_blue"
+        android:drawableLeft="@drawable/point_blue"
         android:text="文件大小"
         android:textColor="@color/gray_121" />
 
diff --git a/app/src/main/res/layout/adapter_sign.xml b/app/src/main/res/layout/adapter_sign.xml
index 53e47432..efcce91b 100644
--- a/app/src/main/res/layout/adapter_sign.xml
+++ b/app/src/main/res/layout/adapter_sign.xml
@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="193dp"
     android:layout_height="78dp"
-    android:background="@mipmap/bg_sign"
+    android:background="@drawable/bg_sign"
     tools:context="com.navinfo.omqs.ui.activity.map.SignAdapter">
 
     <TextView
@@ -12,7 +12,7 @@
         android:layout_height="40dp"
         android:layout_marginLeft="19dp"
         android:layout_marginTop="4dp"
-        android:background="@drawable/icon_speed_limit"
+        android:background="@drawable/shape_icon_speed_limit"
         android:gravity="center"
         android:text="80"
         android:textColor="#2F2F2F"
diff --git a/app/src/main/res/layout/adapter_sound_list.xml b/app/src/main/res/layout/adapter_sound_list.xml
index ff58958d..d55f2b21 100644
--- a/app/src/main/res/layout/adapter_sound_list.xml
+++ b/app/src/main/res/layout/adapter_sound_list.xml
@@ -16,7 +16,7 @@
         android:layout_alignParentRight="true"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:background="@drawable/selector_bg_video_button"
+        android:background="@drawable/ripple_btn_video_normal"
         android:gravity="center_vertical"
         android:minWidth="50dp"
         android:orientation="horizontal"
diff --git a/app/src/main/res/layout/adapter_task.xml b/app/src/main/res/layout/adapter_task.xml
new file mode 100644
index 00000000..6b73fa64
--- /dev/null
+++ b/app/src/main/res/layout/adapter_task.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/selector_adapter_item_select_bg"
+    android:paddingLeft="8dp"
+    android:paddingTop="6dp"
+    android:paddingRight="8dp"
+    android:paddingBottom="4dp"
+    tools:context="com.navinfo.omqs.ui.fragment.tasklist.TaskAdapter">
+
+    <ImageView
+        android:id="@+id/task_head"
+        android:layout_width="16dp"
+        android:layout_height="16dp"
+        android:layout_alignTop="@id/task_link_pid"
+        android:layout_marginLeft="6dp"
+        android:layout_marginTop="2dp"
+        android:layout_marginRight="6dp"
+        android:background="@drawable/selector_task_head" />
+
+    <TextView
+        android:id="@+id/task_link_pid"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginRight="30dp"
+        android:layout_toRightOf="@id/task_head"
+        android:text="linkPID"
+        android:textColor="#15141F"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/task_mesh"
+        style="@style/map_size_font_style"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/task_link_pid"
+        android:layout_alignLeft="@id/task_link_pid"
+        android:layout_marginTop="5dp"
+        android:text="mesh"
+        android:textColor="@color/gray_121"
+        android:textSize="13sp" />
+
+    <ImageView
+        android:id="@+id/task_edit"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true"
+        android:src="@drawable/selector_task_link_edit_icon" />
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/adapter_task_list.xml b/app/src/main/res/layout/adapter_task_list.xml
index 42ba089a..50771d23 100644
--- a/app/src/main/res/layout/adapter_task_list.xml
+++ b/app/src/main/res/layout/adapter_task_list.xml
@@ -4,22 +4,31 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="@color/white"
-    android:paddingLeft="10dp"
-    android:paddingTop="5dp"
-    android:paddingRight="10dp"
-    android:paddingBottom="5dp"
+    android:background="@drawable/selector_adapter_item_select_bg"
+    android:paddingLeft="8dp"
+    android:paddingTop="6dp"
+    android:paddingRight="8dp"
+    android:paddingBottom="4dp"
     tools:context="com.navinfo.omqs.ui.fragment.tasklist.TaskListAdapter">
 
+    <ImageView
+        android:id="@+id/task_list_head"
+        android:layout_width="16dp"
+        android:layout_height="16dp"
+        android:layout_alignTop="@id/task_name"
+        android:layout_marginLeft="6dp"
+        android:layout_marginTop="2dp"
+        android:layout_marginRight="6dp"
+        android:background="@drawable/selector_task_head" />
+
     <TextView
         android:id="@+id/task_name"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_toLeftOf="@id/task_download_btn"
+        android:layout_toRightOf="@id/task_list_head"
         android:text="任务名称"
-        android:textStyle="bold"
-        android:textColor="@color/black"
-        android:textSize="@dimen/default_font_size" />
+        android:textColor="#15141F"
+        android:textSize="14sp" />
 
     <TextView
         android:id="@+id/task_city_name"
@@ -27,22 +36,23 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@id/task_name"
+        android:layout_alignLeft="@id/task_name"
         android:layout_marginTop="5dp"
-        android:textColor="@color/gray_121"
         android:text="省市名称"
-        android:textSize="@dimen/card_title_font_3size" />
+        android:textColor="@color/gray_121"
+        android:textSize="13sp" />
 
     <TextView
         android:id="@+id/task_data_version"
         style="@style/map_size_font_style"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_toLeftOf="@id/task_upload_btn"
         android:layout_below="@id/task_city_name"
-        android:textColor="@color/gray_121"
+        android:layout_alignLeft="@id/task_name"
+        android:layout_toLeftOf="@id/task_upload_btn"
         android:text="版本号"
-        android:textSize="@dimen/card_title_font_3size" />
+        android:textColor="@color/gray_121"
+        android:textSize="13sp" />
 
     <TextView
         android:id="@+id/task_color"
@@ -50,8 +60,9 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@id/task_data_version"
+        android:layout_alignLeft="@id/task_name"
         android:layout_marginTop="5dp"
-        android:drawableLeft="@mipmap/point_blue"
+        android:drawableLeft="@drawable/point_blue"
         android:text="路线颜色"
         android:textSize="@dimen/card_title_font_3size" />
 
@@ -59,11 +70,10 @@
     <TextView
         android:id="@+id/task_download_btn"
         style="@style/btn_default_stroke_horizontal_round"
-        android:layout_width="60dp"
+        android:layout_width="72dp"
         android:layout_alignParentRight="true"
-        android:layout_centerVertical="true"
+        android:layout_alignParentBottom="true"
         android:gravity="center"
-        android:shadowColor="@android:color/transparent"
         android:text="下载"
         android:textSize="@dimen/card_title_font_2size" />
 
@@ -71,11 +81,11 @@
         android:id="@+id/task_upload_btn"
         style="@style/btn_default_stroke_horizontal_round"
         android:layout_width="wrap_content"
-        android:minWidth="60dp"
         android:layout_centerVertical="true"
         android:layout_marginRight="5dp"
         android:layout_toLeftOf="@id/task_download_btn"
         android:gravity="center"
+        android:minWidth="60dp"
         android:shadowColor="@android:color/transparent"
         android:text="同步"
         android:textSize="@dimen/card_title_font_2size" />
diff --git a/app/src/main/res/layout/connect_out_camera.xml b/app/src/main/res/layout/connect_out_camera.xml
index f1443d8d..0e79f412 100644
--- a/app/src/main/res/layout/connect_out_camera.xml
+++ b/app/src/main/res/layout/connect_out_camera.xml
@@ -17,7 +17,6 @@
             android:src="@drawable/icon_camera_close_xml" />
 
         <LinearLayout
-            android:id="@+id/layer_connectCamera_operate"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_below="@+id/fl_layout"
diff --git a/app/src/main/res/layout/cv_card_voice_rcd_hint_window.xml b/app/src/main/res/layout/cv_card_voice_rcd_hint_window.xml
index ff52d891..c438ad81 100644
--- a/app/src/main/res/layout/cv_card_voice_rcd_hint_window.xml
+++ b/app/src/main/res/layout/cv_card_voice_rcd_hint_window.xml
@@ -5,7 +5,6 @@
     android:gravity="center" >
 
     <LinearLayout
-        android:id="@+id/voice_rcd_hint_rcding"
         android:layout_width="wrap_content"
         android:layout_height="140.0dip"
         android:gravity="bottom|center"
@@ -16,7 +15,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:gravity="center"
-            android:background="@drawable/drawable_bg_blue_frame_white_bg_4_radius"
+            android:background="@drawable/shape_rect_white_2dp_bg"
             android:orientation="horizontal"
             >
             <ImageView
@@ -30,7 +29,6 @@
         </LinearLayout>
 
         <LinearLayout
-            android:id="@+id/del_re"
             android:layout_width="140.0dip"
             android:layout_height="140.0dip"
             android:layout_marginLeft="10.0dip"
@@ -48,7 +46,6 @@
                 android:textSize="13.0dip" />
 
             <ImageView
-                android:id="@+id/sc_img1"
                 android:layout_width="75.0dip"
                 android:layout_height="75.0dip"
                 android:layout_marginTop="12.0dip"
@@ -59,7 +56,6 @@
     </LinearLayout>
 
     <LinearLayout
-        android:id="@+id/voice_rcd_hint_tooshort"
         android:layout_width="140.0dip"
         android:layout_height="140.0dip"
         android:background="@drawable/voice_rcd_hint_bg"
diff --git a/app/src/main/res/layout/cv_map_top_right_menu.xml b/app/src/main/res/layout/cv_map_top_right_menu.xml
deleted file mode 100644
index 3692b9aa..00000000
--- a/app/src/main/res/layout/cv_map_top_right_menu.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?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="match_parent"
-    android:orientation="horizontal"
-    android:padding="20dp">
-
-    <ImageButton
-        android:background="@drawable/icon_serach"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-    <ImageButton
-        android:background="@drawable/icon_2d_3d"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-    <ImageButton
-        android:id="@+id/main_activity_camera"
-        android:background="@drawable/icon_page_video_a1"
-        android:onClick="@{()->mainActivity.openCamera()}"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-    <ImageButton
-        android:background="@drawable/icon_trace"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-    <ImageButton
-        android:background="@drawable/icon_calc_disance"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-
-</LinearLayout>
-
diff --git a/app/src/main/res/layout/dialog_default.xml b/app/src/main/res/layout/dialog_default.xml
index eeaacc37..cb5cea89 100644
--- a/app/src/main/res/layout/dialog_default.xml
+++ b/app/src/main/res/layout/dialog_default.xml
@@ -8,7 +8,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_centerInParent="true"
-        android:background="@drawable/dialog_bg"
+        android:background="@drawable/shape_rect_white_2dp_bg"
         android:orientation="vertical">
 
         <LinearLayout
@@ -114,7 +114,7 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:background="@drawable/dialog_bg_cancel"
+                    android:background="@drawable/shape_rect_white_2dp_bg"
                     android:gravity="center"
                     android:padding="@dimen/twelve"
                     android:text="取消"
@@ -124,7 +124,7 @@
                     android:id="@+id/middle_view"
                     android:layout_width="0.6dp"
                     android:layout_height="match_parent"
-                    android:background="@drawable/dialog_bg_cancel"
+                    android:background="@drawable/shape_rect_white_2dp_bg"
                     android:visibility="gone" />
 
                 <TextView
@@ -133,7 +133,7 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:background="@drawable/dialog_bg_ok"
+                    android:background="@drawable/shape_rect_white_2dp_bg"
                     android:gravity="center"
                     android:padding="@dimen/twelve"
                     android:text="中间"
@@ -152,7 +152,7 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:background="@drawable/dialog_bg_ok"
+                    android:background="@drawable/shape_rect_white_2dp_bg"
                     android:gravity="center"
                     android:padding="@dimen/twelve"
                     android:text="确定"
diff --git a/app/src/main/res/layout/dialog_view_edittext.xml b/app/src/main/res/layout/dialog_view_edittext.xml
new file mode 100644
index 00000000..3875e722
--- /dev/null
+++ b/app/src/main/res/layout/dialog_view_edittext.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:padding="12dp">
+    <EditText
+        android:id="@+id/dialog_edittext"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_margin="8dp"
+        android:background="@drawable/shape_rect_white_2dp_bg"
+        android:hint="请备注无需作业原因"
+        android:lines="5"
+        android:textSize="13dp" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_empty.xml b/app/src/main/res/layout/fragment_empty.xml
index f59a4d2f..02846634 100644
--- a/app/src/main/res/layout/fragment_empty.xml
+++ b/app/src/main/res/layout/fragment_empty.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="wrap_content"
+    android:layout_width="0dp"
     android:layout_height="wrap_content"
-    tools:context=".ui.fragment.empty.EmptyFragment">
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
+    tools:context=".ui.fragment.empty.EmptyFragment"></androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_evaluation_result.xml b/app/src/main/res/layout/fragment_evaluation_result.xml
index e9274368..77e477e5 100644
--- a/app/src/main/res/layout/fragment_evaluation_result.xml
+++ b/app/src/main/res/layout/fragment_evaluation_result.xml
@@ -15,216 +15,212 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="256dp"
+        android:layout_width="@dimen/right_fragment_w"
         android:layout_height="match_parent"
-        android:background="@color/white"
+        android:background="@drawable/shape_right_fragment_bg"
         tools:context=".ui.fragment.evaluationresult.EvaluationResultFragment">
 
-        <com.google.android.material.appbar.AppBarLayout
-            android:id="@+id/evaluation_appbar_layout"
-            android:layout_width="match_parent"
+        <TextView
+            android:id="@+id/evaluation_bar"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            app:layout_constraintTop_toTopOf="parent">
+            android:layout_marginLeft="12dp"
+            android:layout_marginTop="14dp"
+            android:text="Mark"
+            android:textColor="@color/default_blue_text_color"
+            android:textSize="16sp"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
-            <RelativeLayout
-                android:layout_width="match_parent"
-                android:layout_height="match_parent">
-
-                <TextView
-                    android:padding="10dp"
-                    android:id="@+id/evaluation_bar"
-                    style="@style/card_title_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentLeft="true"
-                    android:text="Mark" />
-
-                <ImageButton
-                    android:id="@+id/evaluation_bar_save"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_centerInParent="true"
-                    android:layout_alignParentRight="true"
-                    android:background="@drawable/icon_save" />
-
-                <ImageButton
-                    android:id="@+id/evaluation_bar_delete"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:paddingRight="5dp"
-                    android:layout_centerInParent="true"
-                    android:layout_toLeftOf="@+id/evaluation_bar_save"
-                    android:background="@drawable/btn_delete_xml" />
-
-            </RelativeLayout>
+        <ImageButton
+            android:id="@+id/evaluation_bar_save"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:layout_marginTop="9dp"
+            android:layout_marginRight="14dp"
+            android:background="@drawable/ripple_fragment_save_botton_bg"
+            android:src="@drawable/icon_save"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
 
-        </com.google.android.material.appbar.AppBarLayout>
+        <ImageButton
+            android:id="@+id/evaluation_bar_cancel"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:layout_marginRight="10dp"
+            android:background="@color/transparent"
+            android:src="@drawable/icon_fragment_close"
+            app:layout_constraintRight_toLeftOf="@id/evaluation_bar_save"
+            app:layout_constraintTop_toTopOf="@id/evaluation_bar_save" />
+
+
+        <ImageButton
+            android:id="@+id/evaluation_bar_delete"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
+            android:layout_centerInParent="true"
+            android:layout_marginRight="5dp"
+            android:background="@color/transparent"
+            android:src="@drawable/icon_delete"
+            app:layout_constraintRight_toLeftOf="@id/evaluation_bar_cancel"
+            app:layout_constraintTop_toTopOf="@id/evaluation_bar_save" />
 
         <androidx.core.widget.NestedScrollView
             android:layout_width="0dp"
             android:layout_height="0dp"
-            android:layout_marginTop="5dp"
-            android:padding="10dp"
+            android:layout_marginTop="6dp"
+            android:paddingLeft="11dp"
+            android:paddingTop="6dp"
+            android:paddingRight="9dp"
+            android:paddingBottom="6dp"
             app:layout_constraintBottom_toTopOf="@id/evaluation_camera"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/evaluation_appbar_layout">
+            app:layout_constraintTop_toBottomOf="@id/evaluation_bar_save">
 
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
+                android:layout_marginBottom="7dp"
                 android:orientation="vertical">
 
-            <LinearLayout
-                android:paddingBottom="10dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="horizontal">
-
-                <TextView
-                    style="@style/card_content_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="要素分类" />
-
-                <TextView
-                    android:id="@+id/evaluation_class_type"
+                <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    style="@style/card_text_font_default"
-                    android:onClick="@{fragment::onClick}"
-                    android:text="@{viewModel.liveDataQsRecordBean.classType}" />
+                    android:layout_marginBottom="7dp"
+                    android:orientation="horizontal">
 
-            </LinearLayout>
+                    <TextView
+                        style="@style/evaluation_fragment_title_text_style"
+                        android:text="要素分类" />
 
-            <LinearLayout
-                android:paddingBottom="10dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="horizontal">
+                    <TextView
+                        android:id="@+id/evaluation_class_type"
+                        style="@style/evaluation_fragment_text_style"
+                        android:onClick="@{fragment::onClick}"
+                        android:text="@{viewModel.liveDataQsRecordBean.classType}" />
 
-                <TextView
-                    style="@style/card_content_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="问题类型" />
+                </LinearLayout>
 
-                <TextView
-                    android:id="@+id/evaluation_problem_type"
+                <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    style="@style/card_text_font_default"
-                    android:onClick="@{fragment::onClick}"
-                    android:text="@{viewModel.liveDataQsRecordBean.problemType}" />
+                    android:layout_marginBottom="7dp"
+                    android:orientation="horizontal">
 
-            </LinearLayout>
+                    <TextView
+                        style="@style/evaluation_fragment_title_text_style"
+                        android:text="问题类型" />
 
-            <LinearLayout
-                android:paddingBottom="10dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="horizontal">
+                    <TextView
+                        android:id="@+id/evaluation_problem_type"
+                        style="@style/evaluation_fragment_text_style"
+                        android:onClick="@{fragment::onClick}"
+                        android:text="@{viewModel.liveDataQsRecordBean.problemType}" />
 
-                <TextView
-                    style="@style/card_content_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="问题现象" />
+                </LinearLayout>
 
-            <TextView
-                    android:id="@+id/evaluation_phenomenon"
+                <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    style="@style/card_text_font_default"
-                    android:onClick="@{fragment::onClick}"
-                    android:text="@{viewModel.liveDataQsRecordBean.phenomenon}" />
+                    android:layout_marginBottom="7dp"
+                    android:orientation="horizontal">
 
-            </LinearLayout>
+                    <TextView
+                        style="@style/evaluation_fragment_title_text_style"
+                        android:text="问题现象" />
 
-            <LinearLayout
-                android:paddingBottom="10dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="horizontal">
+                    <TextView
+                        android:id="@+id/evaluation_phenomenon"
+                        style="@style/evaluation_fragment_text_style"
+                        android:onClick="@{fragment::onClick}"
+                        android:text="@{viewModel.liveDataQsRecordBean.phenomenon}" />
 
-                <TextView
-                    style="@style/card_content_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="问题环节" />
+                </LinearLayout>
 
-                <TextView
-                    android:id="@+id/evaluation_link"
+                <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    style="@style/card_text_font_default"
-                    android:onClick="@{fragment::onClick}"
-                    android:text="@{viewModel.liveDataQsRecordBean.problemLink}" />
+                    android:layout_marginBottom="7dp"
+                    android:orientation="horizontal">
 
-            </LinearLayout>
+                    <TextView
+                        style="@style/evaluation_fragment_title_text_style"
+                        android:text="问题环节" />
 
+                    <TextView
+                        android:id="@+id/evaluation_link"
+                        style="@style/evaluation_fragment_text_style"
+                        android:onClick="@{fragment::onClick}"
+                        android:text="@{viewModel.liveDataQsRecordBean.problemLink}" />
 
-            <LinearLayout
-                android:paddingBottom="10dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="horizontal">
+                </LinearLayout>
 
-                <TextView
-                    style="@style/card_content_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="问题原因" />
-
-                <TextView
-                    android:id="@+id/evaluation_cause"
+                <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    style="@style/card_text_font_default"
-                    android:onClick="@{fragment::onClick}"
-                    android:text="@{viewModel.liveDataQsRecordBean.cause}" />
+                    android:layout_marginBottom="7dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        style="@style/evaluation_fragment_title_text_style"
+                        android:text="问题原因" />
+
+                    <TextView
+                        android:id="@+id/evaluation_cause"
+                        style="@style/evaluation_fragment_text_style"
+                        android:onClick="@{fragment::onClick}"
+                        android:text="@{viewModel.liveDataQsRecordBean.cause}" />
 
 
-            </LinearLayout>
+                </LinearLayout>
 
-            <LinearLayout
-                android:paddingBottom="10dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="horizontal">
-
-                <TextView
-                    style="@style/card_content_font_default"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="问题描述" />
-
-                <com.navinfo.omqs.ui.widget.MyEditeText
-                    style="@style/card_text_font_default"
+                <LinearLayout
                     android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:gravity="start"
-                    android:hint="请输入备注信息"
-                    android:inputType="textMultiLine"
-                    android:lines="3"
-                    android:maxLines="3"
-                    android:text="@={viewModel.liveDataQsRecordBean.description}" />
+                    android:layout_height="match_parent"
+                    android:orientation="horizontal">
 
+                    <TextView
+                        style="@style/evaluation_fragment_title_text_style"
+                        android:layout_gravity="top"
+                        android:layout_marginTop="3dp"
+                        android:text="问题描述" />
 
-            </LinearLayout>
+                    <com.navinfo.omqs.ui.widget.MyEditeText
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:background="@drawable/shape_rect_white_2dp_bg"
+                        android:elevation="2dp"
+                        android:gravity="start"
+                        android:hint="请输入备注信息"
+                        android:paddingLeft="12dp"
+                        android:paddingTop="2dp"
+                        android:paddingBottom="2dp"
+                        android:inputType="textMultiLine"
+                        android:lines="3"
+                        android:maxLines="3"
+                        android:text="@={viewModel.liveDataQsRecordBean.description}"
+                        android:textSize="12sp" />
+
+                </LinearLayout>
 
                 <View
                     android:layout_width="match_parent"
                     android:layout_height="1dp"
-                    android:layout_margin="5dp"
-                    android:background="@color/gray_121" />
+                    android:layout_marginLeft="8dp"
+                    android:layout_marginTop="26dp"
+                    android:layout_marginBottom="20dp"
+                    android:layout_marginRight="8dp"
+                    android:background="#D6DBF0" />
 
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    style="@style/card_title_font_default"
-                    android:text="多媒体" />
+                    android:layout_marginBottom="8dp"
+                    android:text="多媒体"
+                    android:textColor="@color/default_blue_text_color"
+                    android:textSize="16sp" />
 
                 <androidx.recyclerview.widget.RecyclerView
                     android:id="@+id/evaluation_voice_recyclerview"
@@ -234,25 +230,23 @@
             </LinearLayout>
         </androidx.core.widget.NestedScrollView>
 
-        <ImageButton
+        <ImageView
             android:id="@+id/evaluation_camera"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:padding="10dp"
-            android:background="@drawable/btn_bg_default"
             android:src="@drawable/baseline_camera_alt_24"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintHorizontal_weight="1"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toLeftOf="@id/evaluation_voice" />
 
-        <ImageButton
+        <ImageView
             android:id="@+id/evaluation_voice"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:padding="10dp"
             android:src="@drawable/baseline_keyboard_voice_24"
-            android:background="@drawable/btn_bg_default"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintHorizontal_weight="1"
             app:layout_constraintLeft_toRightOf="@id/evaluation_camera"
diff --git a/app/src/main/res/layout/fragment_offline_map_city_list.xml b/app/src/main/res/layout/fragment_offline_map_city_list.xml
index cc84e348..80b9409b 100644
--- a/app/src/main/res/layout/fragment_offline_map_city_list.xml
+++ b/app/src/main/res/layout/fragment_offline_map_city_list.xml
@@ -27,7 +27,7 @@
             android:layout_height="wrap_content"
             android:hint="搜索"
             android:lines="1"
-            android:background="@drawable/login_inputlayout_bg"
+            android:background="@drawable/shape_login_inputlayout_bg"
             tools:ignore="TouchTargetSizeCheck" />
     </com.google.android.material.textfield.TextInputLayout>
 
diff --git a/app/src/main/res/layout/fragment_phenomenon.xml b/app/src/main/res/layout/fragment_phenomenon.xml
index 01c3a88d..1f936a86 100644
--- a/app/src/main/res/layout/fragment_phenomenon.xml
+++ b/app/src/main/res/layout/fragment_phenomenon.xml
@@ -1,63 +1,71 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
+    android:layout_width="@dimen/fragment_phenomenon_width"
     android:layout_height="match_parent"
-    android:gravity="right|center_vertical"
-    android:orientation="horizontal"
-    android:paddingTop="@dimen/fragment_margin_top"
-    android:paddingLeft="@dimen/fragment_margin_left"
+    android:background="@drawable/shape_middle_fragment_bg"
     tools:context="com.navinfo.omqs.ui.fragment.evaluationresult.PhenomenonFragment">
 
-    <ImageView
-        android:id="@+id/phenomenon_drawer"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:background="@drawable/progress_bg"
-        android:paddingLeft="10dp"
-        android:paddingTop="30dp"
-        android:paddingRight="10dp"
-        android:paddingBottom="30dp"
-        android:src="@drawable/btn_back_xml" />
+    <!--    <ImageView-->
+    <!--        android:id="@+id/phenomenon_drawer"-->
+    <!--        android:layout_width="wrap_content"-->
+    <!--        android:layout_height="wrap_content"-->
+    <!--        android:background="@drawable/progress_bg"-->
+    <!--        android:paddingLeft="10dp"-->
+    <!--        android:paddingTop="30dp"-->
+    <!--        android:paddingRight="10dp"-->
+    <!--        android:paddingBottom="30dp"-->
+    <!--        android:src="@drawable/btn_back_xml" />-->
 
-    <LinearLayout
-        android:id="@+id/group"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/phenomenon_middle_recyclerview"
+        android:layout_width="0dp"
+        android:layout_height="35dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toLeftOf="@id/phenomenon_right_recyclerview"
+        app:layout_constraintTop_toTopOf="parent" />
 
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="horizontal">
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/phenomenon_left_recyclerview"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toLeftOf="@id/phenomenon_right_recyclerview"
+        app:layout_constraintTop_toBottomOf="@id/phenomenon_middle_recyclerview" />
 
-            <RelativeLayout
-                android:layout_width="0dp"
-                android:layout_weight="2"
-                android:layout_height="match_parent">
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/phenomenon_right_recyclerview"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toRightOf="@id/phenomenon_left_recyclerview"
+        app:layout_constraintRight_toRightOf="parent" />
 
-                <androidx.recyclerview.widget.RecyclerView
-                    android:id="@+id/phenomenon_middle_recyclerview"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:background="@color/white" />
+    <!--    <LinearLayout-->
+    <!--        android:id="@+id/group"-->
+    <!--        android:layout_width="match_parent"-->
+    <!--        android:layout_height="match_parent"-->
+    <!--        android:orientation="vertical">-->
 
-                <androidx.recyclerview.widget.RecyclerView
-                    android:layout_below="@id/phenomenon_middle_recyclerview"
-                    android:id="@+id/phenomenon_left_recyclerview"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:background="@color/white" />
+    <!--        <LinearLayout-->
+    <!--            android:layout_width="match_parent"-->
+    <!--            android:layout_height="match_parent"-->
+    <!--            android:orientation="horizontal">-->
 
-            </RelativeLayout>
+    <!--            <RelativeLayout-->
+    <!--                android:layout_width="0dp"-->
+    <!--                android:layout_height="match_parent"-->
+    <!--                android:layout_weight="2">-->
+
+    <!--              -->
+
+    <!--            </RelativeLayout>-->
 
 
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/phenomenon_right_recyclerview"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="3"
-                android:background="@color/white" />
-        </LinearLayout>
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
+    <!--           -->
+    <!--        </LinearLayout>-->
+    <!--    </LinearLayout>-->
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_problem_link.xml b/app/src/main/res/layout/fragment_problem_link.xml
index 5900708e..c5e7a09a 100644
--- a/app/src/main/res/layout/fragment_problem_link.xml
+++ b/app/src/main/res/layout/fragment_problem_link.xml
@@ -19,7 +19,7 @@
         android:paddingTop="30dp"
         android:paddingRight="10dp"
         android:paddingBottom="30dp"
-        android:src="@drawable/btn_back_xml" />
+        android:src="@drawable/selector_btn_back_xml" />
 
     <LinearLayout
         android:id="@+id/group"
diff --git a/app/src/main/res/layout/fragment_qs_record_list.xml b/app/src/main/res/layout/fragment_qs_record_list.xml
index 00ed3cf2..863b4fb0 100644
--- a/app/src/main/res/layout/fragment_qs_record_list.xml
+++ b/app/src/main/res/layout/fragment_qs_record_list.xml
@@ -31,7 +31,7 @@
                     android:padding="@dimen/eight"
                     android:layout_alignParentLeft="true"
                     android:layout_centerInParent="true"
-                    android:src="@drawable/btn_back_xml" />
+                    android:src="@drawable/selector_btn_back_xml" />
 
                 <TextView
                     android:id="@+id/tv_title"
@@ -124,7 +124,7 @@
                     android:layout_height="wrap_content"
                     android:hint="输入LinkPid"
                     android:lines="1"
-                    android:background="@drawable/login_inputlayout_bg"
+                    android:background="@drawable/shape_login_inputlayout_bg"
                     tools:ignore="TouchTargetSizeCheck" />
             </com.google.android.material.textfield.TextInputLayout>
 
diff --git a/app/src/main/res/layout/fragment_task.xml b/app/src/main/res/layout/fragment_task.xml
new file mode 100644
index 00000000..20c2876c
--- /dev/null
+++ b/app/src/main/res/layout/fragment_task.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".ui.fragment.tasklist.TaskFragment">
+
+    <EditText
+        android:id="@+id/task_search"
+        android:layout_width="match_parent"
+        android:layout_height="32dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:background="@drawable/shape_default_inputlayout_white_bg"
+        android:hint="输入LinkPID"
+        android:imeOptions="actionDone"
+        android:paddingLeft="30dp"
+        android:paddingRight="30dp"
+        android:singleLine="true"
+        android:textSize="13sp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ImageView
+        android:layout_width="14dp"
+        android:layout_height="14dp"
+        android:layout_marginLeft="10dp"
+        android:background="@drawable/ic_baseline_search_24"
+        app:layout_constraintBottom_toBottomOf="@id/task_search"
+        app:layout_constraintLeft_toLeftOf="@id/task_search"
+        app:layout_constraintTop_toTopOf="@id/task_search" />
+
+    <ImageView
+        android:id="@+id/task_search_clear"
+        android:layout_width="14dp"
+        android:layout_height="14dp"
+        android:layout_marginRight="10dp"
+        android:background="@drawable/icon_clear"
+        app:layout_constraintBottom_toBottomOf="@id/task_search"
+        app:layout_constraintRight_toRightOf="@id/task_search"
+        app:layout_constraintTop_toTopOf="@id/task_search" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/task_recyclerview"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginTop="12dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/task_search" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_task_list.xml b/app/src/main/res/layout/fragment_task_list.xml
index a2b2a365..3fe6330f 100644
--- a/app/src/main/res/layout/fragment_task_list.xml
+++ b/app/src/main/res/layout/fragment_task_list.xml
@@ -4,83 +4,49 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/bg_left_pannel"
     tools:context=".ui.fragment.tasklist.TaskListFragment">
 
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/title_layout"
+    <EditText
+        android:id="@+id/task_list_search"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        style="@style/left_pannel_title_layout">
-        <androidx.appcompat.widget.AppCompatImageView
-            android:id="@+id/task_back"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            android:layout_marginTop="5dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:background="@drawable/selector_bg_round_button"
-            android:foreground="@drawable/ripple_btn_press"
-            style="@style/btn_round"
-            android:src="@drawable/ic_baseline_keyboard_arrow_left_24"></androidx.appcompat.widget.AppCompatImageView>
+        android:layout_height="32dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:background="@drawable/shape_default_inputlayout_white_bg"
+        android:hint="输入搜索内容"
+        android:imeOptions="actionDone"
+        android:paddingLeft="30dp"
+        android:paddingRight="30dp"
+        android:singleLine="true"
+        android:textSize="13sp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
 
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/task_title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textSize="@dimen/left_pannel_title_font"
-            android:text="任务列表"
-            android:textColor="@color/highFontColor"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"></androidx.appcompat.widget.AppCompatTextView>
-    </androidx.constraintlayout.widget.ConstraintLayout>
+    <ImageView
+        android:layout_width="14dp"
+        android:layout_height="14dp"
+        android:layout_marginLeft="10dp"
+        android:background="@drawable/ic_baseline_search_24"
+        app:layout_constraintBottom_toBottomOf="@id/task_list_search"
+        app:layout_constraintLeft_toLeftOf="@id/task_list_search"
+        app:layout_constraintTop_toTopOf="@id/task_list_search" />
 
-    <androidx.cardview.widget.CardView
+    <ImageView
+        android:id="@+id/task_list_search_clear"
+        android:layout_width="14dp"
+        android:layout_height="14dp"
+        android:layout_marginRight="10dp"
+        android:background="@drawable/icon_clear"
+        app:layout_constraintBottom_toBottomOf="@id/task_list_search"
+        app:layout_constraintRight_toRightOf="@id/task_list_search"
+        app:layout_constraintTop_toTopOf="@id/task_list_search" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/task_list_recyclerview"
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        app:layout_constraintTop_toBottomOf="@id/title_layout"
+        android:layout_marginTop="12dp"
         app:layout_constraintBottom_toBottomOf="parent"
-        style="@style/default_card_view">
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-            <com.google.android.material.textfield.TextInputLayout
-                android:id="@+id/task_search_layout"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                app:startIconDrawable="@drawable/ic_baseline_search_24"
-                app:startIconTint="@color/gray_121"
-                app:endIconMode="clear_text"
-                android:layout_marginHorizontal="@dimen/default_widget_padding"
-                app:endIconDrawable="@drawable/baseline_delete_forever_24"
-                app:endIconTint="@color/gray_121"
-                android:scrollbarAlwaysDrawHorizontalTrack="true"
-                app:layout_constraintTop_toBottomOf="@id/title_layout"
-                app:layout_constraintVertical_bias="0.4">
-
-                <com.google.android.material.textfield.TextInputEditText
-                    android:id="@+id/task_search"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:hint="输入LinkPid"
-                    android:lines="1"
-                    android:background="@drawable/login_inputlayout_bg"
-                    tools:ignore="TouchTargetSizeCheck" />
-            </com.google.android.material.textfield.TextInputLayout>
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/task_recyclerview"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/task_search_layout" />
-        </LinearLayout>
-    </androidx.cardview.widget.CardView>
-
+        app:layout_constraintTop_toBottomOf="@id/task_list_search" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_task_manager.xml b/app/src/main/res/layout/fragment_task_manager.xml
new file mode 100644
index 00000000..50f1605e
--- /dev/null
+++ b/app/src/main/res/layout/fragment_task_manager.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/shape_left_fragment_bg"
+    tools:context=".ui.fragment.tasklist.TaskManagerFragment">
+
+    <androidx.appcompat.widget.AppCompatImageView
+        android:id="@+id/task_back"
+        style="@style/btn_round"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="5dp"
+        android:background="@drawable/selector_bg_round_button"
+        android:foreground="@drawable/ripple_btn_press"
+        android:src="@drawable/ic_baseline_keyboard_arrow_left_24"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/task_fragment_title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="15dp"
+        android:text="评测任务"
+        android:textColor="@color/default_blue_text_color"
+        android:textSize="16sp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <com.google.android.material.tabs.TabLayout
+        android:id="@+id/task_manager_tab_layout"
+        android:layout_width="match_parent"
+        android:layout_height="26dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginTop="11dp"
+        android:layout_marginRight="8dp"
+        android:background="@color/transparent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/task_fragment_title"
+        app:tabBackground="@drawable/selector_bg_gradient_checkbox"
+        app:tabGravity="center"
+        app:tabIndicator="@null"
+        app:tabIndicatorHeight="0dp"
+        app:tabMaxWidth="150dp"
+        app:tabMinWidth="150dp"
+        app:tabMode="scrollable"
+        app:tabPaddingEnd="6dp"
+        app:tabPaddingStart="6dp"
+        app:tabSelectedTextColor="@color/white"
+        app:tabTextAppearance="@style/TabLayoutTextStyle"
+        app:tabTextColor="@color/black">
+
+        <com.google.android.material.tabs.TabItem
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="当前任务" />
+
+        <com.google.android.material.tabs.TabItem
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="任务列表" />
+    </com.google.android.material.tabs.TabLayout>
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/task_manager_viewpager"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginTop="10dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/task_manager_tab_layout" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/temp.xml b/app/src/main/res/layout/temp.xml
deleted file mode 100644
index 3bce645a..00000000
--- a/app/src/main/res/layout/temp.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/white"
-    android:orientation="horizontal">
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/action_settings" />
-
-    <Spinner
-        android:id="@+id/evaluation_class_type"
-        android:layout_width="match_parent"
-        android:layout_height="50dp" />
-
-    <com.google.android.material.tabs.TabLayout
-        android:id="@+id/evaluation_class_tab_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/default_blue">
-        <com.google.android.material.tabs.TabItem
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="下载管理" />
-
-        <com.google.android.material.tabs.TabItem
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="城市列表" />
-    </com.google.android.material.tabs.TabLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/menu/evaluation_bar_mean.xml b/app/src/main/res/menu/evaluation_bar_mean.xml
deleted file mode 100644
index c7cfb65f..00000000
--- a/app/src/main/res/menu/evaluation_bar_mean.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <item
-        android:id="@+id/delete"
-        android:contentDescription="删除数据"
-        android:icon="@drawable/btn_delete_xml"
-        android:title="删除"
-        app:showAsAction="ifRoom" />
-    <item
-        android:id="@+id/save"
-        android:contentDescription="保存数据"
-        android:icon="@drawable/icon_save"
-        android:title="保存"
-        app:showAsAction="ifRoom" />
-
-</menu>
\ No newline at end of file
diff --git a/app/src/main/res/menu/evaluation_list_bar_mean.xml b/app/src/main/res/menu/evaluation_list_bar_mean.xml
deleted file mode 100644
index ae94bd96..00000000
--- a/app/src/main/res/menu/evaluation_list_bar_mean.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <item
-        android:id="@+id/filter"
-        android:contentDescription="筛选"
-        android:icon="@drawable/icon_filter"
-        android:title="筛选"
-        app:showAsAction="ifRoom" />
-    <item
-        android:id="@+id/order"
-        android:contentDescription="排序"
-        android:icon="@drawable/icon_order"
-        android:title="排序"
-        app:showAsAction="ifRoom" />
-
-    <item
-        android:id="@+id/refrush"
-        android:contentDescription="刷新"
-        android:icon="@drawable/icon_refrush"
-        android:title="刷新"
-        app:showAsAction="ifRoom" />
-
-</menu>
\ No newline at end of file
diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml
index bfbf7214..9e086aa6 100644
--- a/app/src/main/res/menu/personal_center_menu.xml
+++ b/app/src/main/res/menu/personal_center_menu.xml
@@ -3,9 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:showIn="navigation_view">
 
-    <group
-        android:id="@+id/group1"
-        android:checkableBehavior="single">
+    <group android:checkableBehavior="single">
         <item
             android:id="@+id/personal_center_menu_offline_map"
             android:icon="@drawable/baseline_map_24"
@@ -25,13 +23,10 @@
             android:icon="@drawable/ic_baseline_scatter_plot_24"
             android:title="导入元数据" />
         <item
-            android:id="@+id/personal_center_menu_realm_data_backup"
             android:icon="@drawable/ic_baseline_sim_card_download_24"
             android:title="备份数据" />
     </group>
-    <group
-        android:id="@+id/group2"
-        android:checkableBehavior="single">
+    <group android:checkableBehavior="single">
         <item android:title="小标题">
             <menu>
                 <item
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index eca70cfe..00000000
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index eca70cfe..00000000
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
deleted file mode 100644
index 6f3b755b..00000000
--- a/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78e..00000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d1..00000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d64..00000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611da..00000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 948a3070..00000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1b9a6956..00000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77f..00000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f508..00000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d6427..00000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae37..00000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/app/src/main/res/navigation/left_drawer_nav_graph.xml b/app/src/main/res/navigation/left_drawer_nav_graph.xml
index e0b8242c..2e2c94b3 100644
--- a/app/src/main/res/navigation/left_drawer_nav_graph.xml
+++ b/app/src/main/res/navigation/left_drawer_nav_graph.xml
@@ -2,7 +2,6 @@
 <navigation xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/left_drawer_nav_graph"
     app:startDestination="@id/PersonalCenterFragment">
 
     <fragment
@@ -23,10 +22,10 @@
 
     </fragment>
     <fragment
-        android:id="@+id/TaskListFragment"
-        android:name="com.navinfo.omqs.ui.fragment.tasklist.TaskListFragment"
+        android:id="@+id/TaskManagerFragment"
+        android:name="com.navinfo.omqs.ui.fragment.tasklist.TaskManagerFragment"
         android:label="任务列表"
-        tools:layout="@layout/fragment_task_list">
+        tools:layout="@layout/fragment_task_manager">
 
     </fragment>
 
diff --git a/app/src/main/res/navigation/middle_fragment_nav_graph.xml b/app/src/main/res/navigation/middle_fragment_nav_graph.xml
index 6fd2b7f6..8ff5bb4d 100644
--- a/app/src/main/res/navigation/middle_fragment_nav_graph.xml
+++ b/app/src/main/res/navigation/middle_fragment_nav_graph.xml
@@ -2,7 +2,6 @@
 <navigation xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/middle_fragment_nav_graph"
     app:startDestination="@id/EmptyFragment">
 
     <fragment
diff --git a/app/src/main/res/values-w1024dp/dimens.xml b/app/src/main/res/values-w1024dp/dimens.xml
new file mode 100644
index 00000000..56fc8b4e
--- /dev/null
+++ b/app/src/main/res/values-w1024dp/dimens.xml
@@ -0,0 +1,12 @@
+<resources>
+    <dimen name="fab_margin">200dp</dimen>
+    <dimen name="top_right_drawer_btns_wh" comment="地图主页右上角抽屉按钮的大小">54dp</dimen>
+    <dimen name="top_right_drawer_wh" comment="地图主页右上角抽屉的把手按钮的大小">42dp</dimen>
+    <dimen name="top_right_drawer_btns_mr" comment="地图主页右上角抽屉按钮距离右侧间距">44dp</dimen>
+    <dimen name="zoom_btns_w" comment="和zoom键一起的其他按钮大小">41dp</dimen>
+    <dimen name="zoom_btns_h" comment="zoom键的高度">47dp</dimen>
+    <dimen name="right_fragment_w" comment="右侧fragment宽度">256dp</dimen>
+    <dimen name="main_activity_geometry_w" comment="地图主页坐标框宽度">230dp</dimen>
+    <dimen name="main_activity_geometry_h" comment="地图主页坐标框高度">28dp</dimen>
+
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-w1240dp/dimens.xml b/app/src/main/res/values-w1240dp/dimens.xml
deleted file mode 100644
index d73f4a35..00000000
--- a/app/src/main/res/values-w1240dp/dimens.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-    <dimen name="fab_margin">200dp</dimen>
-</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-w600dp/dimens.xml b/app/src/main/res/values-w600dp/dimens.xml
index 22d7f004..ad9117b6 100644
--- a/app/src/main/res/values-w600dp/dimens.xml
+++ b/app/src/main/res/values-w600dp/dimens.xml
@@ -1,3 +1,4 @@
 <resources>
     <dimen name="fab_margin">48dp</dimen>
+    <dimen name="fragment_phenomenon_width" comment="问题现象面板宽度">310dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index daafde21..f138c0c1 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="transp">#00000000</color>
+
+    <color name="white" comment="主要按钮,背景等颜色">#FFFFFF</color> <!--白色 -->
+    <color name="button_press_color" comment="默认的按钮按下去时的背景颜色">#F1EBEB</color>
+    <color name="default_button_blue_color" comment="蓝色到紫色的渐变开始颜色">#4954ED</color>
+    <color name="ripple_end_color" comment="蓝色到紫色的渐变结束颜色">#6A12C2</color>
+    <color name="default_blue_text_color" comment="蓝色字体的默认颜色">#2631DD</color>
+    <color name="input_edit_hint_color" comment="输入框hint文字,icon的颜色">#C1C0C8</color>
+    <color name="high_item_color" comment="选中高亮的颜色">#FFF5F7FE</color>
+
     <color name="line_gray" comment="轻度灰色,一般用于下划线,不可点击按钮的边框">#dadade</color>
     <color name="bg_left_pannel" comment="左侧弹出框背景颜色">#f4f4fc</color>
     <color name="colorPrimary">#6c14c4</color>
@@ -9,162 +17,160 @@
     <color name="colorSurface">#FFFFFF</color>
     <color name="colorOnSurface">#3c3c44</color>
     <color name="colorPrimarySurface">#aa342c4c</color>
-    <color name="colorOnPrimarySurface">#FFFFFF</color>
     <color name="colorError">#e74c3c</color>
     <color name="ripple_color">#342c4c</color>
-    <color name="colorPrimaryDark">#303F9F</color>
-    <color name="white">#FFFFFF</color> <!--白色 -->
-    <color name="ivory">#FFFFF0</color> <!--象牙色 -->
-    <color name="lightyellow">#FFFFE0</color> <!--亮黄色 -->
-    <color name="yellow">#FFFF00</color> <!--黄色 -->
-    <color name="snow">#FFFAFA</color> <!--雪白色 -->
-    <color name="floralwhite">#FFFAF0</color> <!--花白色 -->
-    <color name="lemonchiffon">#FFFACD</color> <!--柠檬绸色 -->
-    <color name="cornsilk">#FFF8DC</color> <!--米绸色 -->
-    <color name="seashell">#FFF5EE</color> <!--海贝色 -->
-    <color name="lavenderblush">#FFF0F5</color> <!--淡紫红 -->
-    <color name="papayawhip">#FFEFD5</color> <!--番木色 -->
-    <color name="blanchedalmond">#FFEBCD</color> <!--白杏色 -->
-    <color name="mistyrose">#FFE4E1</color> <!--浅玫瑰色 -->
-    <color name="bisque">#FFE4C4</color> <!--桔黄色 -->
-    <color name="moccasin">#FFE4B5</color> <!--鹿皮色 -->
-    <color name="navajowhite">#FFDEAD</color> <!--纳瓦白 -->
-    <color name="peachpuff">#FFDAB9</color> <!--桃色 -->
-    <color name="gold">#FFD700</color> <!--金色 -->
-    <color name="pink">#FFC0CB</color> <!--粉红色 -->
-    <color name="lightpink">#FFB6C1</color> <!--亮粉红色 -->
+
+
+    <!--象牙色 -->
+    <!--亮黄色 -->
+    <!--黄色 -->
+    <!--雪白色 -->
+    <!--花白色 -->
+    <!--柠檬绸色 -->
+    <!--米绸色 -->
+    <!--海贝色 -->
+    <!--淡紫红 -->
+    <!--番木色 -->
+    <!--白杏色 -->
+    <!--浅玫瑰色 -->
+    <!--桔黄色 -->
+    <!--鹿皮色 -->
+    <!--纳瓦白 -->
+    <!--桃色 -->
+    <!--金色 -->
+    <!--粉红色 -->
+    <!--亮粉红色 -->
     <color name="orange">#FFA500</color> <!--橙色 -->
-    <color name="lightsalmon">#FFA07A</color> <!--亮肉色 -->
-    <color name="darkorange">#FF8C00</color> <!--暗桔黄色 -->
-    <color name="coral">#FF7F50</color> <!--珊瑚色 -->
-    <color name="hotpink">#FF69B4</color> <!--热粉红色 -->
-    <color name="tomato">#FF6347</color> <!--西红柿色 -->
-    <color name="orangered">#FF4500</color> <!--红橙色 -->
-    <color name="deeppink">#FF1493</color> <!--深粉红色 -->
-    <color name="fuchsia">#FF00FF</color> <!--紫红色 -->
-    <color name="magenta">#FF00FF</color> <!--红紫色 -->
+    <!--亮肉色 -->
+    <!--暗桔黄色 -->
+    <!--珊瑚色 -->
+    <!--热粉红色 -->
+    <!--西红柿色 -->
+    <!--红橙色 -->
+    <!--深粉红色 -->
+    <!--紫红色 -->
+    <!--红紫色 -->
     <color name="red">#FF0000</color> <!--红色 -->
-    <color name="oldlace">#FDF5E6</color> <!--老花色 -->
-    <color name="lightgoldenrodyellow">#FAFAD2</color> <!--亮金黄色 -->
-    <color name="linen">#FAF0E6</color> <!--亚麻色 -->
-    <color name="antiquewhite">#FAEBD7</color> <!--古董白 -->
-    <color name="salmon">#FA8072</color> <!--鲜肉色 -->
-    <color name="ghostwhite">#F8F8FF</color> <!--幽灵白 -->
-    <color name="mintcream">#F5FFFA</color> <!--薄荷色 -->
-    <color name="whitesmoke">#F5F5F5</color> <!--烟白色 -->
-    <color name="beige">#F5F5DC</color> <!--米色 -->
-    <color name="wheat">#F5DEB3</color> <!--浅黄色 -->
-    <color name="sandybrown">#F4A460</color> <!--沙褐色 -->
-    <color name="azure">#F0FFFF</color> <!--天蓝色 -->
-    <color name="honeydew">#F0FFF0</color> <!--蜜色 -->
-    <color name="aliceblue">#F0F8FF</color> <!--艾利斯兰 -->
-    <color name="khaki">#F0E68C</color> <!--黄褐色 -->
-    <color name="lightcoral">#F08080</color> <!--亮珊瑚色 -->
-    <color name="palegoldenrod">#EEE8AA</color> <!--苍麒麟色 -->
-    <color name="violet">#EE82EE</color> <!--紫罗兰色 -->
-    <color name="darksalmon">#E9967A</color> <!--暗肉色 -->
-    <color name="lavender">#E6E6FA</color> <!--淡紫色 -->
-    <color name="lightcyan">#E0FFFF</color> <!--亮青色 -->
-    <color name="burlywood">#DEB887</color> <!--实木色 -->
-    <color name="plum">#DDA0DD</color> <!--洋李色 -->
-    <color name="gainsboro">#DCDCDC</color> <!--淡灰色 -->
-    <color name="crimson">#DC143C</color> <!--暗深红色 -->
-    <color name="palevioletred">#DB7093</color> <!--苍紫罗兰色 -->
-    <color name="goldenrod">#DAA520</color> <!--金麒麟色 -->
-    <color name="orchid">#DA70D6</color> <!--淡紫色 -->
-    <color name="thistle">#D8BFD8</color> <!--蓟色 -->
-    <color name="lightgray">#D3D3D3</color> <!--亮灰色 -->
-    <color name="lightgrey">#D3D3D3</color> <!--亮灰色 -->
-    <color name="tan">#D2B48C</color> <!--茶色 -->
-    <color name="chocolate">#D2691E</color> <!--巧可力色 -->
-    <color name="peru">#CD853F</color> <!--秘鲁色 -->
-    <color name="indianred">#CD5C5C</color> <!--印第安红 -->
-    <color name="mediumvioletred">#C71585</color> <!--中紫罗兰色 -->
-    <color name="silver">#C0C0C0</color> <!--银色 -->
-    <color name="darkkhaki">#BDB76B</color> <!--暗黄褐色-->
-    <color name="rosybrown">#BC8F8F</color> <!--褐玫瑰红 -->
-    <color name="mediumorchid">#BA55D3</color> <!--中粉紫色 -->
-    <color name="darkgoldenrod">#B8860B</color> <!--暗金黄色 -->
-    <color name="firebrick">#B22222</color> <!--火砖色 -->
-    <color name="powderblue">#B0E0E6</color> <!--粉蓝色 -->
-    <color name="lightsteelblue">#B0C4DE</color> <!--亮钢兰色-->
-    <color name="paleturquoise">#AFEEEE</color> <!--苍宝石绿 -->
-    <color name="greenyellow">#ADFF2F</color> <!--黄绿色 -->
-    <color name="lightblue">#ADD8E6</color> <!--亮蓝色 -->
-    <color name="darkgray">#A9A9A9</color> <!--暗灰色 -->
-    <color name="darkgrey">#A9A9A9</color> <!--暗灰色 -->
-    <color name="brown">#A52A2A</color> <!--褐色 -->
-    <color name="sienna">#A0522D</color> <!--赭色 -->
-    <color name="darkorchid">#9932CC</color> <!--暗紫色 -->
-    <color name="palegreen">#98FB98</color> <!--苍绿色 -->
-    <color name="darkviolet">#9400D3</color> <!--暗紫罗兰色 -->
-    <color name="mediumpurple">#9370DB</color> <!--中紫色 -->
-    <color name="lightgreen">#90EE90</color> <!--亮绿色 -->
-    <color name="darkseagreen">#8FBC8F</color> <!--暗海兰色 -->
-    <color name="saddlebrown">#8B4513</color> <!--重褐色 -->
-    <color name="darkmagenta">#8B008B</color> <!--暗洋红 -->
-    <color name="darkred">#8B0000</color> <!--暗红色 -->
-    <color name="blueviolet">#8A2BE2</color> <!--紫罗兰蓝色 -->
-    <color name="lightskyblue">#87CEFA</color> <!--亮天蓝色 -->
-    <color name="skyblue">#87CEEB</color> <!--天蓝色 -->
+    <!--老花色 -->
+    <!--亮金黄色 -->
+    <!--亚麻色 -->
+    <!--古董白 -->
+    <!--鲜肉色 -->
+    <!--幽灵白 -->
+    <!--薄荷色 -->
+    <!--烟白色 -->
+    <!--米色 -->
+    <!--浅黄色 -->
+    <!--沙褐色 -->
+    <!--天蓝色 -->
+    <!--蜜色 -->
+    <!--艾利斯兰 -->
+    <!--黄褐色 -->
+    <!--亮珊瑚色 -->
+    <!--苍麒麟色 -->
+    <!--紫罗兰色 -->
+    <!--暗肉色 -->
+    <!--淡紫色 -->
+    <!--亮青色 -->
+    <!--实木色 -->
+    <!--洋李色 -->
+    <!--淡灰色 -->
+    <!--暗深红色 -->
+    <!--苍紫罗兰色 -->
+    <!--金麒麟色 -->
+    <!--淡紫色 -->
+    <!--蓟色 -->
+    <!--亮灰色 -->
+    <!--亮灰色 -->
+    <!--茶色 -->
+    <!--巧可力色 -->
+    <!--秘鲁色 -->
+    <!--印第安红 -->
+    <!--中紫罗兰色 -->
+    <!--银色 -->
+    <!--暗黄褐色-->
+    <!--褐玫瑰红 -->
+    <!--中粉紫色 -->
+    <!--暗金黄色 -->
+    <!--火砖色 -->
+    <!--粉蓝色 -->
+    <!--亮钢兰色-->
+    <!--苍宝石绿 -->
+    <!--黄绿色 -->
+    <!--亮蓝色 -->
+    <!--暗灰色 -->
+    <!--暗灰色 -->
+    <!--褐色 -->
+    <!--赭色 -->
+    <!--暗紫色 -->
+    <!--苍绿色 -->
+    <!--暗紫罗兰色 -->
+    <!--中紫色 -->
+    <!--亮绿色 -->
+    <!--暗海兰色 -->
+    <!--重褐色 -->
+    <!--暗洋红 -->
+    <!--暗红色 -->
+    <!--紫罗兰蓝色 -->
+    <!--亮天蓝色 -->
+    <!--天蓝色 -->
     <color name="gray">#808080</color> <!--灰色 -->
-    <color name="grey">#808080</color> <!--灰色 -->
-    <color name="olive">#808000</color> <!--橄榄色 -->
-    <color name="purple">#800080</color> <!--紫色 -->
-    <color name="maroon">#800000</color> <!--粟色 -->
-    <color name="aquamarine">#7FFFD4</color> <!--碧绿色 -->
-    <color name="chartreuse">#7FFF00</color> <!--黄绿色 -->
-    <color name="lawngreen">#7CFC00</color> <!--草绿色 -->
-    <color name="mediumslateblue">#7B68EE</color> <!--中暗蓝色 -->
-    <color name="lightslategray">#778899</color> <!--亮蓝灰 -->
-    <color name="lightslategrey">#778899</color> <!--亮蓝灰 -->
-    <color name="slategray">#708090</color> <!--灰石色 -->
-    <color name="slategrey">#708090</color> <!--灰石色 -->
-    <color name="olivedrab">#6B8E23</color> <!--深绿褐色 -->
-    <color name="slateblue">#6A5ACD</color> <!--石蓝色 -->
-    <color name="dimgray">#696969</color> <!--暗灰色 -->
-    <color name="dimgrey">#696969</color> <!--暗灰色 -->
-    <color name="mediumaquamarine">#66CDAA</color> <!--中绿色 -->
-    <color name="cornflowerblue">#6495ED</color> <!--菊兰色 -->
-    <color name="cadetblue">#5F9EA0</color> <!--军兰色 -->
-    <color name="darkolivegreen">#556B2F</color> <!--暗橄榄绿-->
-    <color name="indigo">#4B0082</color> <!--靛青色 -->
-    <color name="mediumturquoise">#48D1CC</color> <!--中绿宝石 -->
-    <color name="darkslateblue">#483D8B</color> <!--暗灰蓝色 -->
-    <color name="steelblue">#4682B4</color> <!--钢兰色 -->
-    <color name="royalblue">#4169E1</color> <!--皇家蓝 -->
-    <color name="turquoise">#40E0D0</color> <!--青绿色 -->
-    <color name="mediumseagreen">#3CB371</color> <!--中海蓝 -->
-    <color name="limegreen">#32CD32</color> <!--橙绿色 -->
-    <color name="darkslategray">#2F4F4F</color> <!--暗瓦灰色 -->
-    <color name="darkslategrey">#2F4F4F</color> <!--暗瓦灰色 -->
-    <color name="seagreen">#2E8B57</color> <!--海绿色 -->
-    <color name="forestgreen">#228B22</color> <!--森林绿 -->
-    <color name="lightseagreen">#20B2AA</color> <!--亮海蓝色 -->
-    <color name="dodgerblue">#1E90FF</color> <!--闪兰色 -->
-    <color name="midnightblue">#191970</color> <!--中灰兰色 -->
-    <color name="aqua">#00FFFF</color> <!--浅绿色 -->
-    <color name="cyan">#00FFFF</color> <!--青色 -->
-    <color name="springgreen">#00FF7F</color> <!--春绿色 -->
-    <color name="lime">#00FF00</color> <!--酸橙色 -->
-    <color name="mediumspringgreen">#00FA9A</color> <!--中春绿色 -->
-    <color name="darkturquoise">#00CED1</color> <!--暗宝石绿 -->
+    <!--灰色 -->
+    <!--橄榄色 -->
+    <!--紫色 -->
+    <!--粟色 -->
+    <!--碧绿色 -->
+    <!--黄绿色 -->
+    <!--草绿色 -->
+    <!--中暗蓝色 -->
+    <!--亮蓝灰 -->
+    <!--亮蓝灰 -->
+    <!--灰石色 -->
+    <!--灰石色 -->
+    <!--深绿褐色 -->
+    <!--石蓝色 -->
+    <!--暗灰色 -->
+    <!--暗灰色 -->
+    <!--中绿色 -->
+    <!--菊兰色 -->
+    <!--军兰色 -->
+    <!--暗橄榄绿-->
+    <!--靛青色 -->
+    <!--中绿宝石 -->
+    <!--暗灰蓝色 -->
+    <!--钢兰色 -->
+    <!--皇家蓝 -->
+    <!--青绿色 -->
+    <!--中海蓝 -->
+    <!--橙绿色 -->
+    <!--暗瓦灰色 -->
+    <!--暗瓦灰色 -->
+    <!--海绿色 -->
+    <!--森林绿 -->
+    <!--亮海蓝色 -->
+    <!--闪兰色 -->
+    <!--中灰兰色 -->
+    <!--浅绿色 -->
+    <!--青色 -->
+    <!--春绿色 -->
+    <!--酸橙色 -->
+    <!--中春绿色 -->
+    <!--暗宝石绿 -->
     <color name="deepskyblue">#00BFFF</color> <!--深天蓝色 -->
-    <color name="darkcyan">#008B8B</color> <!--暗青色 -->
-    <color name="teal">#008080</color> <!--水鸭色 -->
-    <color name="green">#008000</color> <!--绿色 -->
-    <color name="darkgreen">#006400</color> <!--暗绿色 -->
+    <!--暗青色 -->
+    <!--水鸭色 -->
+    <!--绿色 -->
+    <!--暗绿色 -->
     <color name="blue">#0000FF</color> <!--蓝色 -->
-    <color name="mediumblue">#0000CD</color> <!--中兰色 -->
-    <color name="darkblue">#00008B</color> <!--暗蓝色 -->
-    <color name="navy">#000080</color> <!--海军色 -->
+    <!--中兰色 -->
+    <!--暗蓝色 -->
+    <!--海军色 -->
     <color name="black">#000000</color> <!--黑色 -->
 
     <color name="cv_gray_153">#999999</color>
     <color name="cvm_red">#FF3B30</color>
-    <color name="btn_blue_solid">#108ee9</color>
     <color name="highFontColor">#2631DD</color>
-    <color name="high_item_color">#FFF5F7FE</color>
+
     <color name="contentColor">#000000</color>
     <color name="icon_blue">#FF4263EB</color>
     <!-- 一键连接对话框背景色 -->
@@ -172,7 +178,6 @@
     <!-- 一键连接时间显示区域背景色 -->
     <color name="bg_dark">#999999</color>
     <color name="gray_121">#797979</color>
-    <color name="gray_59">#595959</color>
     <color name="btn_bg_blue">#FF3266F1</color>
     <color name="text_hint_gray" comment="输入框内默认字体颜色,输入框边框颜色">#c1c1c1</color>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 60098140..acc41e1d 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -11,20 +11,11 @@
     <dimen name="card_title_font_size">24sp</dimen>
     <dimen name="card_title_font_2size">13sp</dimen>
     <dimen name="card_title_font_3size">10sp</dimen>
-    <dimen name="one">1dp</dimen>
-    <dimen name="two">2dp</dimen>
     <dimen name="three">3dp</dimen>
-    <dimen name="four">4dp</dimen>
     <dimen name="five">5dp</dimen>
-    <dimen name="six">6dp</dimen>
     <dimen name="eight">8dp</dimen>
-    <dimen name="nine">9dp</dimen>
     <dimen name="ten">10dp</dimen>
     <dimen name="twelve">12dp</dimen>
-    <dimen name="twefour">14dp</dimen>
-    <dimen name="fifteen">15dp</dimen>
-    <dimen name="sixteen">16dp</dimen>
-    <dimen name="eighteen">18dp</dimen>
     <dimen name="twenty">20dp</dimen>
     <dimen name="twenty_two">22dp</dimen>
     <dimen name="twenty_four">24dp</dimen>
@@ -38,4 +29,16 @@
     <dimen name="camear_dialog_iv_hight" comment="相机设置窗体高度">75dp</dimen>
     <dimen name="head_img_width">48dp</dimen>
     <dimen name="default_btn_corner">36dp</dimen>
+
+    <dimen name="fragment_phenomenon_width" comment="问题现象面板宽度">310dp</dimen>
+    <dimen name="top_right_drawer_btns_wh" comment="地图主页右上角抽屉按钮的大小">54dp</dimen>
+    <dimen name="top_right_drawer_wh" comment="地图主页右上角抽屉的把手按钮的大小">42dp</dimen>
+    <dimen name="top_right_drawer_btns_mr" comment="地图主页右上角抽屉按钮距离右侧间距">44dp</dimen>
+    <dimen name="zoom_btns_w" comment="和zoom键一起的其他按钮大小">41dp</dimen>
+    <dimen name="zoom_btns_h" comment="两个zoom键一起的高度">47dp</dimen>
+    <dimen name="right_fragment_w" comment="右侧fragment宽度">213dp</dimen>
+    <dimen name="main_activity_geometry_w" comment="地图主页坐标框宽度">230dp</dimen>
+    <dimen name="main_activity_geometry_h" comment="地图主页坐标框高度">28dp</dimen>
+
+        
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9f17ca50..f573b422 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,24 +1,13 @@
 <resources>
     <string name="app_name">LandScope</string>
-    <string name="action_settings">Settings</string>
     <!-- Strings used for fragments for navigation -->
     <string name="personal_center">个人中心</string>
-    <string name="second_fragment_label">Second Fragment</string>
-    <string name="next">Next</string>
-    <string name="previous">Previous</string>
 
     <string name="input_user_name">请输入用户名</string>
     <string name="input_password">请输入密码</string>
     <string name="login">登录</string>
     <string name="logon">注册</string>
     <string name="imagedescription">imageDescription</string>
-    <string name="navigation_drawer_open">Open navigation drawer</string>
-    <string name="navigation_drawer_close">Close navigation drawer</string>
-    <string name="nav_header_title">Android Studio</string>
     <string name="nav_header_subtitle">Navinfo Mobile</string>
-    <string name="nav_header_desc">Navigation header</string>
 
-    <string name="menu_home">Home</string>
-    <string name="menu_gallery">Gallery</string>
-    <string name="menu_slideshow">Slideshow</string>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 19a23744..014fb4ae 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -24,34 +24,63 @@
     </style>
 
     <!-- 默认字体 -->
-    <style name="card_title_font_default">
-        <item name="android:gravity">center_vertical</item>
-        <item name="android:textSize">@dimen/card_title_font_size</item>
-        <item name="android:textColor">@color/highFontColor</item>
-        <item name="android:layout_width">wrap_content</item>
-        <item name="android:layout_height">wrap_content</item>
-    </style>
-
-    <!-- 默认字体 -->
-    <style name="card_content_font_default">
-        <item name="android:gravity">center_vertical</item>
-        <item name="android:textSize">@dimen/card_title_font_2size</item>
-        <item name="android:textColor">@color/contentColor</item>
-        <item name="android:padding">10dp</item>
+    <style name="evaluation_fragment_title_text_style" comment="质检数据属性页面,小文字标题样式">
+        <item name="android:layout_gravity">center_vertical</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">#15141F</item>
+        <item name="android:layout_marginRight">12dp</item>
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">wrap_content</item>
     </style>
 
     <!-- 默认显示内容字体 -->
-    <style name="card_text_font_default">
+    <style name="evaluation_fragment_text_style" comment="质检数据属性页面,选择内容样式">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">#3756DF</item>
+        <item name="android:elevation">2dp</item>
+        <item name="android:layout_gravity">center_vertical</item>
         <item name="android:gravity">center_vertical</item>
-        <item name="android:textSize">@dimen/card_title_font_2size</item>
-        <item name="android:textColor">@color/highFontColor</item>
-        <item name="android:padding">10dp</item>
-        <item name="android:drawableRight">@drawable/icon_down_arrow</item>
-        <item name="android:background">@drawable/fm_card_map_down_status_bg</item>
-        <item name="android:layout_width">wrap_content</item>
-        <item name="android:layout_height">wrap_content</item>
+        <item name="android:paddingRight">6dp</item>
+        <item name="android:paddingLeft">10dp</item>
+        <item name="android:drawableRight">@drawable/baseline_keyboard_arrow_down_12</item>
+        <item name="android:background">@drawable/shape_rect_white_2dp_bg</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">26dp</item>
+    </style>
+
+
+    <!-- 地图主页右上角抽屉按钮的style -->
+    <style name="top_right_drawer_btns_style" comment="地图主页右上角抽屉按钮的样式">
+        <item name="android:layout_width">@dimen/top_right_drawer_btns_wh</item>
+        <item name="android:layout_height">@dimen/top_right_drawer_btns_wh</item>
+        <item name="android:background">@drawable/selector_default_button_white_bg</item>
+        <item name="android:elevation">2dp</item>
+    </style>
+
+    <!-- 地图主页右上角除了抽屉里的按钮样式 -->
+    <style name="zoom_btns_style" comment="除了抽屉里的按钮样式">
+        <item name="android:layout_width">@dimen/zoom_btns_w</item>
+        <item name="android:layout_height">@dimen/zoom_btns_w</item>
+        <item name="android:background">@drawable/selector_default_button_white_bg</item>
+        <item name="android:elevation">2dp</item>
+    </style>
+    <!--地图主页面右下角的坐标显示栏样式-->
+    <style name="main_activity_geometry_style" comment="地图主页面右下角的坐标显示栏样式">
+        <item name="android:layout_width">230dp</item>
+        <item name="android:layout_height">28dp</item>
+        <item name="android:layout_marginRight">16dp</item>
+        <item name="android:layout_marginBottom">16dp</item>
+        <item name="android:background">@drawable/shape_rect_white_8dp_bg</item>
+        <item name="android:drawableLeft">@drawable/icon_main_geometry</item>
+        <item name="android:elevation">2dp</item>
+        <item name="android:gravity">center</item>
+        <item name="android:paddingLeft">12dp</item>
+        <item name="android:textSize">10sp</item>
+    </style>
+
+    <!--任务列表、离线地图tablayout切换栏的字体样式-->
+    <style name="TabLayoutTextStyle" comment="任务列表、离线地图tablayout切换栏的字体样式">
+        <item name="android:textSize">14sp</item>
     </style>
 
     <!-- 默认字体 -->
@@ -73,15 +102,6 @@
     </style>
 
     <!-- 输入框基本样式 -->
-    <style name="input_blue_type" parent="content_font_default">
-        <item name="android:textSize">16sp</item>
-        <item name="android:background">#FFFFFF</item>
-        <item name="android:textColor">#1890ff</item>
-        <item name="android:textColorHint">@color/text_hint_gray</item>
-        <item name="android:padding">10dp</item>
-        <item name="android:imeOptions">actionDone</item>
-        <item name="android:singleLine">true</item>
-    </style>
 
 
     <style name="map_size_font_style" comment="离线地图gdb/nds大小字体样式">
@@ -94,19 +114,6 @@
         <item name="android:clickable">false</item>
     </style>
 
-    <style name="map_download_style_btn" comment="离线地图下载的按钮样式" parent="ThemeOverlay.Material3.AutoCompleteTextView">
-        <item name="android:layout_width">wrap_content</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:layout_gravity">center_vertical</item>
-        <item name="android:paddingHorizontal">@dimen/default_widget_padding</item>
-        <item name="android:paddingVertical">5dp</item>
-        <item name="android:background">@drawable/fm_card_map_down_status_bg</item>
-        <item name="android:foreground">@drawable/ripple_btn_press</item>
-        <item name="android:gravity">center_horizontal</item>
-        <item name="android:textColor">@color/selector_default_primary_press_secondary</item>
-        <item name="android:textSize">15sp</item>
-    </style>
-
     <style name="btn_default_stroke_horizontal_round" comment="左右为圆角的按钮" parent="ThemeOverlay.Material3.AutoCompleteTextView">
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">wrap_content</item>
@@ -123,7 +130,7 @@
     <!-- 默认按钮样式 -->
     <style name="btn_default_style" parent="content_font_default">
         <item name="android:textColor">@color/btn_select_color</item>
-        <item name="android:background">@drawable/btn_bg_default</item>
+        <item name="android:background">@drawable/selector_btn_bg_default</item>
         <item name="android:clickable">true</item>
         <item name="android:focusable">true</item>
         <item name="android:gravity">center</item>
@@ -139,15 +146,6 @@
         <item name="android:paddingBottom">1dp</item>
     </style>
 
-    <style name="checked_gradient_color" parent="TextAppearance.AppCompat.Button">
-        <item name="android:textColor">@color/selector_default_text_color_black_enable_white</item>
-        <item name="android:background">@drawable/selector_bg_gradient_checkbox</item>
-        <item name="android:clickable">true</item>
-        <item name="android:focusable">true</item>
-        <item name="android:gravity">center</item>
-        <item name="android:paddingBottom">1dp</item>
-    </style>
-
     <style name="fm_btn_default_blue_white" parent="@android:style/Widget.Button">
         <item name="android:background">@drawable/selector_bg_blue_gray_bg_4_radius</item>
         <item name="android:textColor">@color/selector_default_text_color_white_enable_gray</item>
@@ -181,9 +179,11 @@
     </style>
 
     <style name="default_card_view" parent="@style/CardView">
-        <item name="background">@drawable/shape_card_bg_default</item>
+        <item name="background">@drawable/shape_rect_white_6dp_bg</item>
         <item name="android:layout_margin">@dimen/default_widget_padding</item>
         <item name="cardCornerRadius">@dimen/default_widget_padding</item>
         <item name="android:padding">@dimen/default_widget_padding</item>
     </style>
+
+
 </resources>
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/HadLinkDvoBean.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/HadLinkDvoBean.kt
index 7430050d..3bfc9084 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/HadLinkDvoBean.kt
+++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/HadLinkDvoBean.kt
@@ -14,6 +14,11 @@ open class HadLinkDvoBean @JvmOverloads constructor(
     /**
      * (几何)加偏后
      */
-    var geometry: String = ""
+    var geometry: String = "",
+
+    /**
+     * 不作业原因
+     */
+    var reason: String = ""
 
 ) : RealmObject()
\ No newline at end of file
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/AnimationHandler.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/AnimationHandler.kt
index 8862097d..df4fd714 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/AnimationHandler.kt
+++ b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/AnimationHandler.kt
@@ -3,6 +3,7 @@ package com.navinfo.collect.library.map.handler
 import android.content.Context
 import androidx.appcompat.app.AppCompatActivity
 import com.navinfo.collect.library.map.NIMapView
+import org.oscim.core.BoundingBox
 import org.oscim.core.GeoPoint
 import org.oscim.core.MapPosition
 
@@ -68,4 +69,11 @@ open class AnimationHandler(context: AppCompatActivity, mapView: NIMapView) :
         mMapView.vtmMap.animator().animateTo(mapPosition)
     }
 
+    /**
+     *
+     */
+    fun animateToBox(maxX: Double, maxY: Double, minX: Double, minY: Double) {
+        val box = BoundingBox(minY, minX, maxY, maxX)
+        mMapView.vtmMap.animator().animateTo(box)
+    }
 }
\ No newline at end of file
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/layers/OmdbTaskLinkLayer.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/layers/OmdbTaskLinkLayer.kt
index ceb72990..ba4ed19b 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/map/layers/OmdbTaskLinkLayer.kt
+++ b/collect-library/src/main/java/com/navinfo/collect/library/map/layers/OmdbTaskLinkLayer.kt
@@ -16,17 +16,41 @@ import org.oscim.map.Map
 class OmdbTaskLinkLayer(map: Map, private var style: Style) : VectorLayer(map) {
     private val lineMap = HashMap<String, Drawable>()
 
+    private var selectDrawable: Drawable? = null
+
+    private val selectStyle =
+        Style.builder().fillColor(Color.GREEN).strokeColor(Color.GREEN)
+            .strokeWidth(10f).fixed(false).build()
+
+
+    @Synchronized
     fun addLine(hadLinkDvoBean: HadLinkDvoBean, style: Style = this.style) {
-        hadLinkDvoBean.let {
-            if (!lineMap.containsKey(it.linkPid)) {
-                // 添加geometry到图层上
-                val lineDrawable = LineDrawable(GeometryTools.createGeometry(it.geometry), style)
-                super.add(lineDrawable)
-                lineMap[it.linkPid] = lineDrawable
-            }
+        if (!lineMap.containsKey(hadLinkDvoBean.linkPid)) {
+            // 添加geometry到图层上
+            val lineDrawable =
+                LineDrawable(GeometryTools.createGeometry(hadLinkDvoBean.geometry), style)
+            super.add(lineDrawable)
+            lineMap[hadLinkDvoBean.linkPid] = lineDrawable
         }
     }
 
+    @Synchronized
+    fun showSelectLine(hadLinkDvoBean: HadLinkDvoBean) {
+        if (selectDrawable != null) super.remove(selectDrawable)
+        selectDrawable =
+            LineDrawable(GeometryTools.createGeometry(hadLinkDvoBean.geometry), selectStyle)
+        super.add(selectDrawable)
+    }
+
+    @Synchronized
+    fun clearSelectLine() {
+        if (selectDrawable != null) {
+            super.remove(selectDrawable)
+            selectDrawable = null
+        }
+    }
+
+    @Synchronized
     fun addLineList(hadLinkDvoBeanList: List<HadLinkDvoBean>, style: Style = this.style) {
         hadLinkDvoBeanList.forEach {
             addLine(it, style)
@@ -48,18 +72,17 @@ class OmdbTaskLinkLayer(map: Map, private var style: Style) : VectorLayer(map) {
 
     @RequiresApi(Build.VERSION_CODES.O)
     fun setLineColor(color: Color) {
-        this.style = Style.builder()
-            .fillColor(color.toArgb())
-            .fillAlpha(0.5f)
-            .strokeColor(color.toArgb())
-            .strokeWidth(8f)
-            .fixed(true).build()
+        this.style =
+            Style.builder().fillColor(color.toArgb()).fillAlpha(0.5f).strokeColor(color.toArgb())
+                .strokeWidth(8f).fixed(true).build()
     }
 
+    @Synchronized
     fun removeAll() {
         for ((key, value) in lineMap) {
             super.remove(value)
         }
         lineMap.clear()
+        clearSelectLine()
     }
 }
\ No newline at end of file
diff --git a/collect-library/src/main/res/drawable/bg_nimap_default_button.xml b/collect-library/src/main/res/drawable/bg_nimap_default_button.xml
deleted file mode 100644
index 03131b04..00000000
--- a/collect-library/src/main/res/drawable/bg_nimap_default_button.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#64a0e6">
-    <item>
-        <selector >
-            <item android:state_pressed="true"
-                android:drawable="@drawable/shape_button_press"/>
-            <item android:state_checked="true"
-                android:drawable="@drawable/shape_button_press"/>
-            <item android:state_selected="true"
-                android:drawable="@drawable/shape_button_press"/>
-            <item android:state_enabled="false"
-                android:drawable="@drawable/shape_button_press"/>
-            <item android:drawable="@drawable/shape_button_default"/>
-        </selector>
-    </item>
-</ripple>
\ No newline at end of file
diff --git a/collect-library/src/main/res/drawable/shape_button_default.xml b/collect-library/src/main/res/drawable/shape_button_default.xml
deleted file mode 100644
index 4115cff3..00000000
--- a/collect-library/src/main/res/drawable/shape_button_default.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <corners android:radius="5dp"></corners>
-    <padding
-        android:bottom="@dimen/nimap_defalut_padding"
-        android:left="@dimen/nimap_defalut_padding"
-        android:right="@dimen/nimap_defalut_padding"
-        android:top="@dimen/nimap_defalut_padding"></padding>
-    <stroke android:width="0.2dp"
-        android:color="#cfcfcf"></stroke>
-    <solid android:color="#77cfcfcf"></solid>
-</shape>
\ No newline at end of file
diff --git a/collect-library/src/main/res/drawable/shape_button_press.xml b/collect-library/src/main/res/drawable/shape_button_press.xml
deleted file mode 100644
index 4a97beab..00000000
--- a/collect-library/src/main/res/drawable/shape_button_press.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <corners android:radius="5dp"></corners>
-    <padding
-        android:bottom="@dimen/nimap_defalut_padding"
-        android:left="@dimen/nimap_defalut_padding"
-        android:right="@dimen/nimap_defalut_padding"
-        android:top="@dimen/nimap_defalut_padding"></padding>
-    <stroke android:width="0.2dp"
-        android:color="#bcbcbc"></stroke>
-    <solid android:color="#77bcbcbc"></solid>
-</shape>
\ No newline at end of file
diff --git a/collect-library/src/main/res/layout/base_map_layout.xml b/collect-library/src/main/res/layout/base_map_layout.xml
index 27ec2c2b..f0f6ea9e 100644
--- a/collect-library/src/main/res/layout/base_map_layout.xml
+++ b/collect-library/src/main/res/layout/base_map_layout.xml
@@ -34,6 +34,7 @@
         android:layout_alignParentBottom="true"
         android:layout_marginRight="20dp"
         android:layout_marginBottom="48dp"
+        android:visibility="gone"
         android:background="@drawable/map_zoom_bg_xml"
         android:orientation="vertical"
         android:padding="@dimen/nimap_defalut_padding">
diff --git a/collect-library/src/main/res/mipmap-hdpi/icon_direction.png b/collect-library/src/main/res/mipmap-hdpi/icon_direction.png
deleted file mode 100644
index b2be8682..00000000
Binary files a/collect-library/src/main/res/mipmap-hdpi/icon_direction.png and /dev/null differ
diff --git a/collect-library/src/main/res/mipmap-hdpi/icon_direction_p.png b/collect-library/src/main/res/mipmap-hdpi/icon_direction_p.png
deleted file mode 100644
index 19502a6c..00000000
Binary files a/collect-library/src/main/res/mipmap-hdpi/icon_direction_p.png and /dev/null differ
diff --git a/collect-library/src/main/res/mipmap-xxhdpi/map_icon_blue1.png b/collect-library/src/main/res/mipmap-xxhdpi/map_icon_blue1.png
deleted file mode 100644
index b9a44f46..00000000
Binary files a/collect-library/src/main/res/mipmap-xxhdpi/map_icon_blue1.png and /dev/null differ
diff --git a/collect-library/src/main/res/values/colors.xml b/collect-library/src/main/res/values/colors.xml
index f3277d08..8adbf2e8 100644
--- a/collect-library/src/main/res/values/colors.xml
+++ b/collect-library/src/main/res/values/colors.xml
@@ -1,20 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <color name="transp">#00000000</color>
-    <color name="purple_200">#FFBB86FC</color>
-    <color name="purple_500">#FF6200EE</color>
-    <color name="purple_700">#FF3700B3</color>
     <color name="teal_200">#FF03DAC5</color>
-    <color name="teal_700">#FF018786</color>
     <color name="black">#FF000000</color>
     <color name="white">#FFFFFFFF</color>
     <color name="transparent">#00FFFFFF</color>
-    <color name="background_light">#ffffffff</color>
     <color name="draw_line_blue1_color" comment="线数据样式">#028FFF</color>
     <color name="draw_line_blue2_color" comment="线数据样式">#4E55AF</color>
     <color name="draw_line_red_color" comment="线数据样式">#FFF6565D</color>
-    <color name="draw_line_color" comment="地图绘制线颜色">#4E55AF</color>
-    <color name="default_blue" comment="应用主要色调">#1890ff</color>
     <color name="default_red" comment="应用主要色调">#F03736</color>
 
 </resources>
\ No newline at end of file
diff --git a/collect-library/src/main/res/values/themes.xml b/collect-library/src/main/res/values/themes.xml
index 498406b3..69a9dc49 100644
--- a/collect-library/src/main/res/values/themes.xml
+++ b/collect-library/src/main/res/values/themes.xml
@@ -1,16 +1,3 @@
 <resources xmlns:tools="http://schemas.android.com/tools">
     <!-- Base application theme. -->
-    <style name="Theme.NavinfoMap" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
-        <!-- Primary brand color. -->
-        <item name="colorPrimary">@color/purple_500</item>
-        <item name="colorPrimaryVariant">@color/purple_700</item>
-        <item name="colorOnPrimary">@color/white</item>
-        <!-- Secondary brand color. -->
-        <item name="colorSecondary">@color/teal_200</item>
-        <item name="colorSecondaryVariant">@color/teal_700</item>
-        <item name="colorOnSecondary">@color/black</item>
-        <!-- Status bar color. -->
-        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
-        <!-- Customize your theme here. -->
-    </style>
 </resources>
\ No newline at end of file