Commit aad9f221 authored by 马乐's avatar 马乐

1.完成选择状态上报PopupWindow

parent 1cbb240c
...@@ -14,8 +14,10 @@ import com.mapbox.maps.CameraOptions ...@@ -14,8 +14,10 @@ import com.mapbox.maps.CameraOptions
import com.mapbox.maps.MapboxMap import com.mapbox.maps.MapboxMap
import com.mapbox.maps.Style import com.mapbox.maps.Style
import com.mapbox.maps.ViewAnnotationAnchor import com.mapbox.maps.ViewAnnotationAnchor
import com.mapbox.maps.extension.style.expressions.dsl.generated.distanceFromCenter
import com.mapbox.maps.extension.style.layers.properties.generated.IconAnchor import com.mapbox.maps.extension.style.layers.properties.generated.IconAnchor
import com.mapbox.maps.extension.style.style import com.mapbox.maps.extension.style.style
import com.mapbox.maps.plugin.animation.flyTo
import com.mapbox.maps.plugin.annotation.AnnotationConfig import com.mapbox.maps.plugin.annotation.AnnotationConfig
import com.mapbox.maps.plugin.annotation.annotations import com.mapbox.maps.plugin.annotation.annotations
import com.mapbox.maps.plugin.annotation.generated.PointAnnotationManager import com.mapbox.maps.plugin.annotation.generated.PointAnnotationManager
...@@ -24,6 +26,7 @@ import com.mapbox.maps.plugin.annotation.generated.createPointAnnotationManager ...@@ -24,6 +26,7 @@ import com.mapbox.maps.plugin.annotation.generated.createPointAnnotationManager
import com.mapbox.maps.plugin.attribution.attribution import com.mapbox.maps.plugin.attribution.attribution
import com.mapbox.maps.plugin.compass.compass import com.mapbox.maps.plugin.compass.compass
import com.mapbox.maps.plugin.logo.logo import com.mapbox.maps.plugin.logo.logo
import com.mapbox.maps.plugin.scalebar.scalebar
import com.mapbox.maps.viewannotation.ViewAnnotationManager import com.mapbox.maps.viewannotation.ViewAnnotationManager
import com.mapbox.maps.viewannotation.viewAnnotationOptions import com.mapbox.maps.viewannotation.viewAnnotationOptions
import com.waytous.anticollision.R import com.waytous.anticollision.R
...@@ -177,7 +180,9 @@ open class BaseMapFragment : Fragment() { ...@@ -177,7 +180,9 @@ open class BaseMapFragment : Fragment() {
} }
} }
} }
layoutMapBoxBinding.locationTruck.setOnClickListener {
mapboxMap.flyTo(cameraOptions)
}
mapboxMap.loadStyle(style(MY_MAP_BOX_STYLE) { mapboxMap.loadStyle(style(MY_MAP_BOX_STYLE) {
}) { }) {
setupStyle(it) setupStyle(it)
......
package com.waytous.anticollision.ui.collect package com.waytous.anticollision.ui.collect
import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
import com.blankj.utilcode.util.LogUtils
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
import com.waytous.anticollision.R import com.waytous.anticollision.R
import com.waytous.anticollision.databinding.FragmentCollectBinding import com.waytous.anticollision.databinding.FragmentCollectBinding
...@@ -21,10 +19,9 @@ class CollectFragment : Fragment() { ...@@ -21,10 +19,9 @@ class CollectFragment : Fragment() {
} }
private var _binding: FragmentCollectBinding? = null private var _binding: FragmentCollectBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var dialogFaultCause:MaterialDialog private lateinit var dialogFaultCause:Dialog
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
...@@ -32,14 +29,17 @@ class CollectFragment : Fragment() { ...@@ -32,14 +29,17 @@ class CollectFragment : Fragment() {
): View { ): View {
_binding = FragmentCollectBinding.inflate(inflater, container, false) _binding = FragmentCollectBinding.inflate(inflater, container, false)
context?:return binding.root context?:return binding.root
initTablayout() initTabLayout()
MaterialDialog(context!!).show { dialogFaultCause = Dialog(requireContext()).also {
setContentView(R.layout.dialog_fault_cause_select) it.setContentView(R.layout.dialog_fault_cause_select)
}
binding.collectTabBtnToHome.setOnClickListener {
findNavController().navigate(R.id.navigation_home)
} }
return binding.root return binding.root
} }
private fun initTablayout(){ private fun initTabLayout(){
val collectItem = LayoutInflater.from(context).inflate( val collectItem = LayoutInflater.from(context).inflate(
R.layout.fragment_collect_tab_collect, R.layout.fragment_collect_tab_collect,
null, null,
......
...@@ -8,6 +8,7 @@ import android.view.View ...@@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import com.mapbox.maps.MapView import com.mapbox.maps.MapView
import com.waytous.anticollision.R import com.waytous.anticollision.R
import com.waytous.anticollision.databinding.FragmentHomeBinding import com.waytous.anticollision.databinding.FragmentHomeBinding
...@@ -15,6 +16,7 @@ import com.waytous.anticollision.repository.MainRepository ...@@ -15,6 +16,7 @@ import com.waytous.anticollision.repository.MainRepository
import com.waytous.anticollision.ui.BaseMapFragment import com.waytous.anticollision.ui.BaseMapFragment
import com.waytous.anticollision.ui.MainViewModel import com.waytous.anticollision.ui.MainViewModel
import com.waytous.anticollision.ui.view.MoreFeaturesPopup import com.waytous.anticollision.ui.view.MoreFeaturesPopup
import com.waytous.anticollision.ui.view.ReportStatusPopup
import com.waytous.anticollision.ui.view.WorkStatusEditPopup import com.waytous.anticollision.ui.view.WorkStatusEditPopup
import com.waytous.anticollision.utils.setTextSize import com.waytous.anticollision.utils.setTextSize
...@@ -32,6 +34,8 @@ class HomeNoVideoFragment : BaseMapFragment() { ...@@ -32,6 +34,8 @@ class HomeNoVideoFragment : BaseMapFragment() {
private lateinit var workStatusEditPopup: WorkStatusEditPopup private lateinit var workStatusEditPopup: WorkStatusEditPopup
private lateinit var reportStatusPopup: ReportStatusPopup
private val mapModel: MainViewModel by viewModels { private val mapModel: MainViewModel by viewModels {
MainViewModel.MainViewModelFactory(MainRepository(requireContext())) MainViewModel.MainViewModelFactory(MainRepository(requireContext()))
} }
...@@ -55,6 +59,12 @@ class HomeNoVideoFragment : BaseMapFragment() { ...@@ -55,6 +59,12 @@ class HomeNoVideoFragment : BaseMapFragment() {
it.popupGravity = Gravity.TOP or Gravity.CENTER it.popupGravity = Gravity.TOP or Gravity.CENTER
it.maskOffsetY = 20 it.maskOffsetY = 20
it.setBackgroundColor(R.color.color_99000000) it.setBackgroundColor(R.color.color_99000000)
it.navigationTo(findNavController())
}
reportStatusPopup = ReportStatusPopup(context).also {
it.setOutSideDismiss(true)
it.popupGravity = Gravity.TOP or Gravity.CENTER
it.setBackgroundColor(R.color.color_99000000)
} }
setupMapBox() setupMapBox()
binding.noVideoMapWrapper.addView(layoutMapBoxBinding.root) binding.noVideoMapWrapper.addView(layoutMapBoxBinding.root)
...@@ -66,6 +76,9 @@ class HomeNoVideoFragment : BaseMapFragment() { ...@@ -66,6 +76,9 @@ class HomeNoVideoFragment : BaseMapFragment() {
binding.defaultToggleMore.setOnClickListener { binding.defaultToggleMore.setOnClickListener {
moreFeaturesPopup.showPopupWindow(binding.defaultToggleMore) moreFeaturesPopup.showPopupWindow(binding.defaultToggleMore)
} }
binding.defaultReportStatus.setOnClickListener {
reportStatusPopup.showPopupWindow(binding.defaultReportStatus)
}
return binding.root return binding.root
} }
......
package com.waytous.anticollision.ui.view package com.waytous.anticollision.ui.view
import android.content.Context import android.content.Context
import androidx.navigation.NavController
import com.waytous.anticollision.R import com.waytous.anticollision.R
import com.waytous.anticollision.databinding.PopupMoreFeaturesBinding
import razerdp.basepopup.BasePopupWindow import razerdp.basepopup.BasePopupWindow
class MoreFeaturesPopup(context: Context?) : BasePopupWindow(context) { class MoreFeaturesPopup(context: Context?) : BasePopupWindow(context) {
var popupMoreFeaturesBinding: PopupMoreFeaturesBinding
init { init {
contentView = createPopupById(R.layout.popup_more_features) contentView = createPopupById(R.layout.popup_more_features)
popupMoreFeaturesBinding = PopupMoreFeaturesBinding.bind(contentView)
}
fun navigationTo(navController: NavController){
popupMoreFeaturesBinding.moreFeatureCollect.setOnClickListener {
dismiss()
navController.navigate(R.id.collectFragment)
}
} }
} }
\ No newline at end of file
package com.waytous.anticollision.ui.view
import android.content.Context
import com.waytous.anticollision.R
import razerdp.basepopup.BasePopupWindow
class ReportStatusPopup(context: Context?) : BasePopupWindow(context) {
init {
contentView = createPopupById(R.layout.popup_report_status)
}
}
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="712dp"
android:height="410dp"
android:viewportWidth="712"
android:viewportHeight="410">
<path
android:pathData="M0,14A14,14 0,0 1,14 0H698a14,14 0,0 1,14 14V386a14,14 0,0 1,-14 14H14A14,14 0,0 1,0 386Z"
android:fillColor="#1c1c1c"/>
<path
android:pathData="M672.93,410 L665,400h15.86Z"
android:fillColor="#1d1d1d"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="@dimen/dp_148" android:height="@dimen/dp_200"/>
<solid android:color="@color/color_ffececec" />
<corners android:radius="16dp" />
</shape>
</item>
</layer-list>
</item>
<item android:state_pressed="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="@dimen/dp_148" android:height="@dimen/dp_200"/>
<solid android:color="@color/color_80ececec" />
<corners android:radius="16dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="@dimen/dp_652" android:height="@dimen/dp_80"/>
<solid android:color="@color/color_ffececec" />
<corners android:radius="16dp" />
</shape>
</item>
</layer-list>
</item>
<item android:state_pressed="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="@dimen/dp_652" android:height="@dimen/dp_80"/>
<solid android:color="@color/color_80ececec" />
<corners android:radius="16dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<layer-list> <layer-list>
<item> <item>
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<solid android:color="#ffffff" /> <solid android:color="@color/white" />
<corners android:radius="16dp" /> <corners android:radius="16dp" />
</shape> </shape>
</item> </item>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<layer-list> <layer-list>
<item android:width="216dp" android:height="84dp"> <item android:width="216dp" android:height="84dp">
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<solid android:color="@color/color_ff3684f9" /> <solid android:color="@color/color_ffffc01d" />
<corners android:radius="16dp" /> <corners android:radius="16dp" />
</shape> </shape>
</item> </item>
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="712dp"
android:height="410dp"
android:viewportWidth="712"
android:viewportHeight="410">
<path
android:pathData="M0,14A14,14 0,0 1,14 0H698a14,14 0,0 1,14 14V386a14,14 0,0 1,-14 14H14A14,14 0,0 1,0 386Z"
android:fillColor="#fffefe"/>
<path
android:pathData="M601.93,410 L594,400h15.86Z"
android:fillColor="#fffefe"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/background_report_status_popup">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/reportDialogTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_22"
android:textSize="@dimen/sp_24"
android:textColor="@color/color_ff333333"
android:text="@string/select_reporting_status"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/reportDialogDumping"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/background_btn_report_status_dialog"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/reportDialogTitle"
app:layout_constraintBottom_toTopOf="@id/reportDialogUpdate"
app:layout_constraintEnd_toStartOf="@id/reportDialogDelay"
>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/icon_report_unloading"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="@dimen/dp_8"
android:textSize="@dimen/sp_24"
android:text="@string/select_reporting_dumping"
android:textColor="@color/color_ff333333" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/reportDialogDelay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/background_btn_report_status_dialog"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
app:layout_constraintStart_toEndOf="@id/reportDialogDumping"
app:layout_constraintTop_toBottomOf="@id/reportDialogTitle"
app:layout_constraintBottom_toTopOf="@id/reportDialogUpdate"
app:layout_constraintEnd_toStartOf="@id/reportDialogFault"
>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/icon_report_delayed"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="@dimen/dp_8"
android:textSize="@dimen/sp_24"
android:text="@string/select_reporting_delay"
android:textColor="@color/color_ff333333" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/reportDialogFault"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/background_btn_report_status_dialog"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
app:layout_constraintStart_toEndOf="@id/reportDialogDelay"
app:layout_constraintTop_toBottomOf="@id/reportDialogTitle"
app:layout_constraintBottom_toTopOf="@id/reportDialogUpdate"
app:layout_constraintEnd_toStartOf="@id/reportDialogStandby"
>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/icon_report_fault"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="@dimen/dp_8"
android:textSize="@dimen/sp_24"
android:text="@string/select_reporting_fault"
android:textColor="@color/color_ff333333" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/reportDialogStandby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/background_btn_report_status_dialog"
android:layout_marginStart="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_20"
app:layout_constraintStart_toEndOf="@id/reportDialogFault"
app:layout_constraintTop_toBottomOf="@id/reportDialogTitle"
app:layout_constraintBottom_toTopOf="@id/reportDialogUpdate"
>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/icon_report_standby"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="@dimen/dp_8"
android:textSize="@dimen/sp_24"
android:text="@string/select_reporting_standby"
android:textColor="@color/color_ff333333" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/reportDialogUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@drawable/background_btn_report_status_dialog2"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginEnd="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/icon_report_update_dispatch"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginLeft="@dimen/dp_8"
android:textSize="@dimen/sp_24"
android:text="@string/select_reporting_update"
android:textColor="@color/color_ff333333" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -23,10 +23,12 @@ ...@@ -23,10 +23,12 @@
<color name="color_ff3f87f6">#ff3f87f6</color> <color name="color_ff3f87f6">#ff3f87f6</color>
<color name="color_ffffd210">#ffffd210</color> <color name="color_ffffd210">#ffffd210</color>
<color name="color_ccffd210">#ccffd210</color> <color name="color_ccffd210">#ccffd210</color>
<color name="color_ffffc01d">#ffffc01d</color>
<color name="color_ccffffff">#ccffffff</color> <color name="color_ccffffff">#ccffffff</color>
<color name="color_ff47a625">#ff47a625</color> <color name="color_ff47a625">#ff47a625</color>
<color name="color_cc47a625">#cc47a625</color> <color name="color_cc47a625">#cc47a625</color>
<color name="color_ffececec">#ffececec</color> <color name="color_ffececec">#ffececec</color>
<color name="color_80ececec">#80ececec</color>
<color name="color_ffcacaca">#ffcacaca</color> <color name="color_ffcacaca">#ffcacaca</color>
<color name="color_ff1c1c1c">#ff1c1c1c</color> <color name="color_ff1c1c1c">#ff1c1c1c</color>
<color name="color_4d3c3c3c">#4d3c3c3c</color> <color name="color_4d3c3c3c">#4d3c3c3c</color>
......
...@@ -389,7 +389,9 @@ ...@@ -389,7 +389,9 @@
<dimen name="dp_492">492dp</dimen> <dimen name="dp_492">492dp</dimen>
<dimen name="dp_500">500dp</dimen> <dimen name="dp_500">500dp</dimen>
<dimen name="dp_600">600dp</dimen> <dimen name="dp_600">600dp</dimen>
<dimen name="dp_652">652dp</dimen>
<dimen name="dp_640">640dp</dimen> <dimen name="dp_640">640dp</dimen>
<dimen name="dp_712">712dp</dimen>
<dimen name="dp_720">720dp</dimen> <dimen name="dp_720">720dp</dimen>
<!-- font size,you can add if there is no one --> <!-- font size,you can add if there is no one -->
......
...@@ -69,6 +69,12 @@ ...@@ -69,6 +69,12 @@
<string name="fault_cause_equipment_maintenance">设备保养</string> <string name="fault_cause_equipment_maintenance">设备保养</string>
<string name="fault_cause_other_inputs">其他录入</string> <string name="fault_cause_other_inputs">其他录入</string>
<string name="pls_input_cause">请输入原因说明</string> <string name="pls_input_cause">请输入原因说明</string>
<string name="select_reporting_status">选择上报状态</string>
<string name="select_reporting_dumping">临卸</string>
<string name="select_reporting_delay">延时</string>
<string name="select_reporting_fault">故障</string>
<string name="select_reporting_standby">备用</string>
<string name="select_reporting_update">更新请调</string>
<string name="collect_data_text">采集状态:%1s 采集点数:%2d 速度:%3dKM/h 当前位置:%4f,%5f 高程:%6fm</string> <string name="collect_data_text">采集状态:%1s 采集点数:%2d 速度:%3dKM/h 当前位置:%4f,%5f 高程:%6fm</string>
<string name="confirm">确定</string> <string name="confirm">确定</string>
<string name="cancel">取消</string> <string name="cancel">取消</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment