Commit aad9f221 authored by 马乐's avatar 马乐

1.完成选择状态上报PopupWindow

parent 1cbb240c
......@@ -14,8 +14,10 @@ import com.mapbox.maps.CameraOptions
import com.mapbox.maps.MapboxMap
import com.mapbox.maps.Style
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.style
import com.mapbox.maps.plugin.animation.flyTo
import com.mapbox.maps.plugin.annotation.AnnotationConfig
import com.mapbox.maps.plugin.annotation.annotations
import com.mapbox.maps.plugin.annotation.generated.PointAnnotationManager
......@@ -24,6 +26,7 @@ import com.mapbox.maps.plugin.annotation.generated.createPointAnnotationManager
import com.mapbox.maps.plugin.attribution.attribution
import com.mapbox.maps.plugin.compass.compass
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.viewAnnotationOptions
import com.waytous.anticollision.R
......@@ -177,7 +180,9 @@ open class BaseMapFragment : Fragment() {
}
}
}
layoutMapBoxBinding.locationTruck.setOnClickListener {
mapboxMap.flyTo(cameraOptions)
}
mapboxMap.loadStyle(style(MY_MAP_BOX_STYLE) {
}) {
setupStyle(it)
......
package com.waytous.anticollision.ui.collect
import android.app.Dialog
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
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.databinding.FragmentCollectBinding
......@@ -21,10 +19,9 @@ class CollectFragment : Fragment() {
}
private var _binding: FragmentCollectBinding? = null
private val binding get() = _binding!!
private lateinit var dialogFaultCause:MaterialDialog
private lateinit var dialogFaultCause:Dialog
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
......@@ -32,14 +29,17 @@ class CollectFragment : Fragment() {
): View {
_binding = FragmentCollectBinding.inflate(inflater, container, false)
context?:return binding.root
initTablayout()
MaterialDialog(context!!).show {
setContentView(R.layout.dialog_fault_cause_select)
initTabLayout()
dialogFaultCause = Dialog(requireContext()).also {
it.setContentView(R.layout.dialog_fault_cause_select)
}
binding.collectTabBtnToHome.setOnClickListener {
findNavController().navigate(R.id.navigation_home)
}
return binding.root
}
private fun initTablayout(){
private fun initTabLayout(){
val collectItem = LayoutInflater.from(context).inflate(
R.layout.fragment_collect_tab_collect,
null,
......
......@@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import com.mapbox.maps.MapView
import com.waytous.anticollision.R
import com.waytous.anticollision.databinding.FragmentHomeBinding
......@@ -15,6 +16,7 @@ import com.waytous.anticollision.repository.MainRepository
import com.waytous.anticollision.ui.BaseMapFragment
import com.waytous.anticollision.ui.MainViewModel
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.utils.setTextSize
......@@ -32,6 +34,8 @@ class HomeNoVideoFragment : BaseMapFragment() {
private lateinit var workStatusEditPopup: WorkStatusEditPopup
private lateinit var reportStatusPopup: ReportStatusPopup
private val mapModel: MainViewModel by viewModels {
MainViewModel.MainViewModelFactory(MainRepository(requireContext()))
}
......@@ -55,6 +59,12 @@ class HomeNoVideoFragment : BaseMapFragment() {
it.popupGravity = Gravity.TOP or Gravity.CENTER
it.maskOffsetY = 20
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()
binding.noVideoMapWrapper.addView(layoutMapBoxBinding.root)
......@@ -66,6 +76,9 @@ class HomeNoVideoFragment : BaseMapFragment() {
binding.defaultToggleMore.setOnClickListener {
moreFeaturesPopup.showPopupWindow(binding.defaultToggleMore)
}
binding.defaultReportStatus.setOnClickListener {
reportStatusPopup.showPopupWindow(binding.defaultReportStatus)
}
return binding.root
}
......
package com.waytous.anticollision.ui.view
import android.content.Context
import androidx.navigation.NavController
import com.waytous.anticollision.R
import com.waytous.anticollision.databinding.PopupMoreFeaturesBinding
import razerdp.basepopup.BasePopupWindow
class MoreFeaturesPopup(context: Context?) : BasePopupWindow(context) {
var popupMoreFeaturesBinding: PopupMoreFeaturesBinding
init {
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 @@
<layer-list>
<item>
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<solid android:color="@color/white" />
<corners android:radius="16dp" />
</shape>
</item>
......
......@@ -15,7 +15,7 @@
<layer-list>
<item android:width="216dp" android:height="84dp">
<shape android:shape="rectangle">
<solid android:color="@color/color_ff3684f9" />
<solid android:color="@color/color_ffffc01d" />
<corners android:radius="16dp" />
</shape>
</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 @@
<color name="color_ff3f87f6">#ff3f87f6</color>
<color name="color_ffffd210">#ffffd210</color>
<color name="color_ccffd210">#ccffd210</color>
<color name="color_ffffc01d">#ffffc01d</color>
<color name="color_ccffffff">#ccffffff</color>
<color name="color_ff47a625">#ff47a625</color>
<color name="color_cc47a625">#cc47a625</color>
<color name="color_ffececec">#ffececec</color>
<color name="color_80ececec">#80ececec</color>
<color name="color_ffcacaca">#ffcacaca</color>
<color name="color_ff1c1c1c">#ff1c1c1c</color>
<color name="color_4d3c3c3c">#4d3c3c3c</color>
......
......@@ -389,7 +389,9 @@
<dimen name="dp_492">492dp</dimen>
<dimen name="dp_500">500dp</dimen>
<dimen name="dp_600">600dp</dimen>
<dimen name="dp_652">652dp</dimen>
<dimen name="dp_640">640dp</dimen>
<dimen name="dp_712">712dp</dimen>
<dimen name="dp_720">720dp</dimen>
<!-- font size,you can add if there is no one -->
......
......@@ -69,6 +69,12 @@
<string name="fault_cause_equipment_maintenance">设备保养</string>
<string name="fault_cause_other_inputs">其他录入</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="confirm">确定</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