[fea]
[当前行程和待服务页面]
This commit is contained in:
yangyakun
2024-10-09 15:36:42 +08:00
parent 1f39d2dde3
commit d415eea5f3
32 changed files with 703 additions and 19 deletions

View File

@@ -2,15 +2,19 @@ package com.mogo.och.common.module.wigets.map.orderstatus
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.RelativeLayout
import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import com.mogo.och.common.module.R
import kotlinx.android.synthetic.main.common_order_status_view.view.iv_order_status
/**
*
*/
class OrderStatusView : AppCompatImageView, OrderStatusViewModel.IVisualCallback {
class OrderStatusView : RelativeLayout, OrderStatusViewModel.IVisualCallback {
private val TAG = "VisualView"
@@ -25,7 +29,7 @@ class OrderStatusView : AppCompatImageView, OrderStatusViewModel.IVisualCallback
)
private fun initView() {
setImageResource(R.drawable.common_status_unorder)
LayoutInflater.from(context).inflate(R.layout.common_order_status_view, this, true)
}
override fun onAttachedToWindow() {
@@ -48,8 +52,20 @@ class OrderStatusView : AppCompatImageView, OrderStatusViewModel.IVisualCallback
}
}
override fun setImageViewResource(name: Int) {
setImageResource(name)
override fun setImageViewResource(name: Int,ordering:Boolean) {
iv_order_status.setImageResource(name)
if (iv_order_status.layoutParams is RelativeLayout.LayoutParams) {
val temp = iv_order_status.layoutParams as RelativeLayout.LayoutParams
temp.removeRule(RelativeLayout.ALIGN_PARENT_START)
temp.addRule(ALIGN_PARENT_END)
iv_order_status.layoutParams = temp
}else{
val temp = iv_order_status.layoutParams as RelativeLayout.LayoutParams
temp.removeRule(RelativeLayout.ALIGN_PARENT_END)
temp.addRule(ALIGN_PARENT_START)
iv_order_status.layoutParams = temp
}
}

View File

@@ -32,16 +32,17 @@ class OrderStatusViewModel : ViewModel(), ILoginCallback {
override fun onOpenOrderStatusEnumChange(businessEnum: OpenOrderStatusEnum?) {
UiThreadHandler.post({
if (LoginStatusManager.isOpenOrderType()) {
this.viewCallback?.setImageViewResource(R.drawable.common_status_ordinging)
this.viewCallback?.setImageViewResource(R.drawable.common_order_status,true)
} else {
this.viewCallback?.setImageViewResource(R.drawable.common_status_unorder)
this.viewCallback?.setImageViewResource(R.drawable.common_unorder_status,false)
}
}, UiThreadHandler.MODE.QUEUE)
}
interface IVisualCallback {
fun setImageViewResource(@DrawableRes name: Int)
fun setImageViewResource(@DrawableRes name: Int,ordering:Boolean)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<merge 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:background="@color/acc_default_txt_color"
android:layout_width="@dimen/dp_118"
android:layout_height="@dimen/dp_50"
tools:parentTag="android.widget.RelativeLayout">
<ImageView
android:layout_width="@dimen/dp_118"
android:layout_height="@dimen/dp_50"
android:scaleType="fitXY"
android:src="@drawable/common_order_status_bg"
/>
<ImageView
android:id="@+id/iv_order_status"
android:layout_width="@dimen/dp_80"
android:layout_height="@dimen/dp_50"
android:layout_alignParentStart="true"
android:scaleType="fitXY"
android:src="@drawable/common_unorder_status"
/>
</merge>

View File

@@ -4,8 +4,10 @@ import android.content.Context
import android.view.View
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.biz.provider.CommonServiceImpl
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
@@ -46,9 +48,20 @@ class TaxiUnmannedDriverProvider : CommonServiceImpl() {
}
override fun createOchBusinessView(context: Context?): View? {
CallerLogger.d(SceneConstant.M_TAXI + tag, "createOchBusinessView")
return context?.let {
SwitchBizView(it)
}
}
companion object{
fun getFragmentInfo():Fragment?{
(ARouter.getInstance().build(OchCommonConst.TAXI_UNMANNED_DRIVER)
.navigation() as? CommonService)?.apply {
return getFragment()
}
return null
}
}
}

View File

@@ -3,14 +3,24 @@ package com.mogo.och.unmanned.taxi.ui.bizswitch
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.utils.FlowBus
import com.mogo.och.common.module.utils.ResourcesUtils
import com.mogo.och.common.module.wigets.WindowRelativeLayout
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider
import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst
import kotlinx.android.synthetic.main.unmanned_switch_biz.view.loading_biz
import kotlinx.android.synthetic.main.unmanned_switch_biz.view.order_operation_change
import kotlinx.android.synthetic.main.unmanned_switch_biz.view.taxiServerSelector
class SwitchBizView: WindowRelativeLayout, SwtichBizeModel.SwtichLineViewCallback {
@@ -30,16 +40,42 @@ class SwitchBizView: WindowRelativeLayout, SwtichBizeModel.SwtichLineViewCallbac
private var viewModel: SwtichBizeModel?=null
private var fragment: LifecycleOwner?=null
init {
LayoutInflater.from(context).inflate(R.layout.unmanned_switch_biz, this, true)
initView()
initEventBus()
}
private fun initView(){
fragment = TaxiUnmannedDriverProvider.getFragmentInfo()
loading_biz.setEmptyText(ResourcesUtils.getString(R.string.common_biz_loading))
order_operation_change.onClick {
if (MogoStatusManager.getInstance().isTaxiUnmanedDriverLineRoutingVerifyMode) {
ToastUtils.showLong("退出验证模式后再接单吧")
return@onClick
}
viewModel?.changeOperationStatus()
}
}
private fun initEventBus() {
fragment?.let {
FlowBus.with<Boolean>(TaxiDriverEventConst.TabFragmentEvent.EVENT_TYPE_SHOW_RED_POINT)
.register(it) { show ->
taxiServerSelector.setNextItineraryRedBagVisable( if (show) View.VISIBLE else View.GONE)
}
// FlowBus.with<QueryCurrentTaskRespBean.Result?>(TaxiDriverEventConst.TabFragmentEvent.EVENT_TYPE_TASK_WITH_ORDER_CHANGED)
// .register(it) { taskWithOrder ->
// nextTaskFragment?.onTaskDataChanged(taskWithOrder)
// }
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
viewModel = findViewTreeViewModelStoreOwner()?.let {
@@ -54,7 +90,6 @@ class SwitchBizView: WindowRelativeLayout, SwtichBizeModel.SwtichLineViewCallbac
override fun showLoadingView(){
startLoading = System.currentTimeMillis()
loading_biz.visibility = GONE
}

View File

@@ -1,6 +1,7 @@
package com.mogo.och.unmanned.taxi.ui.bizswitch
import androidx.lifecycle.ViewModel
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
/**
* @author XuXinChao
@@ -18,6 +19,10 @@ class SwtichBizeModel : ViewModel() {
}
fun changeOperationStatus(){
TaxiTaskModel.updateCarServingStatus()
}
fun setDistanceCallback(viewCallback: SwtichLineViewCallback) {
this.viewCallback = viewCallback
this.viewCallback?.showLoadingView()

View File

@@ -0,0 +1,52 @@
package com.mogo.och.unmanned.taxi.ui.bizswitch
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.map.listener.IMogoMapListener
import com.mogo.och.unmanned.taxi.R
import kotlinx.android.synthetic.main.taxi_select_view_group.view.textNextItinerary
class TaxiSelectViewGroup @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr),IMogoMapListener {
companion object {
const val TAG = "LoadingMapStatusView"
}
init {
LayoutInflater.from(context).inflate(R.layout.taxi_select_view_group, this, true)
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerLogger.d(TAG,"onAttachedToWindow")
}
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(isVisible){
}else{
}
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerLogger.d(TAG,"onDetachedFromWindow")
}
fun setNextItineraryRedBagVisable(visibility: Int) {
textNextItinerary.setRedBagVisable(visibility)
}
}

View File

@@ -0,0 +1,29 @@
package com.mogo.och.unmanned.taxi.ui.itinerarycurrent
import androidx.lifecycle.ViewModel
/**
* @author XuXinChao
* @description BadCase录包管理页面
* @since: 2022/12/15
*/
class ItineraryCurrentModel : ViewModel() {
private val TAG = ItineraryCurrentModel::class.java.simpleName
private var viewCallback: SwtichLineViewCallback? = null
override fun onCleared() {
}
fun setDistanceCallback(viewCallback: SwtichLineViewCallback) {
this.viewCallback = viewCallback
}
interface SwtichLineViewCallback {
}
}

View File

@@ -0,0 +1,53 @@
package com.mogo.och.unmanned.taxi.ui.itinerarycurrent
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider
class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineViewCallback {
constructor(context: Context) : super(context)
constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes)
companion object {
const val TAG = "SwitchBizView"
}
private var viewModel: ItineraryCurrentModel?=null
private var fragment: LifecycleOwner?=null
init {
LayoutInflater.from(context).inflate(R.layout.unmanned_itinerary_current, this, true)
initView()
}
private fun initView(){
setBackgroundResource(R.drawable.shape_itinerary_bg_default)
fragment = TaxiUnmannedDriverProvider.getFragmentInfo()
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
viewModel = findViewTreeViewModelStoreOwner()?.let {
ViewModelProvider(it).get(ItineraryCurrentModel::class.java)
}
viewModel?.setDistanceCallback(this)
}
}

View File

@@ -0,0 +1,29 @@
package com.mogo.och.unmanned.taxi.ui.itinerarynext
import androidx.lifecycle.ViewModel
/**
* @author XuXinChao
* @description BadCase录包管理页面
* @since: 2022/12/15
*/
class ItineraryNextModel : ViewModel() {
private val TAG = ItineraryNextModel::class.java.simpleName
private var viewCallback: SwtichLineViewCallback? = null
override fun onCleared() {
}
fun setDistanceCallback(viewCallback: SwtichLineViewCallback) {
this.viewCallback = viewCallback
}
interface SwtichLineViewCallback {
}
}

View File

@@ -0,0 +1,52 @@
package com.mogo.och.unmanned.taxi.ui.itinerarynext
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import com.mogo.och.common.module.wigets.WindowRelativeLayout
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider
class ItineraryNextView: WindowRelativeLayout, ItineraryNextModel.SwtichLineViewCallback {
constructor(context: Context?) : super(context)
constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet)
constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr)
constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes)
companion object {
const val TAG = "SwitchBizView"
}
private var viewModel: ItineraryNextModel?=null
private var fragment: LifecycleOwner?=null
init {
LayoutInflater.from(context).inflate(R.layout.unmanned_itinerary_next, this, true)
initView()
}
private fun initView() {
fragment = TaxiUnmannedDriverProvider.getFragmentInfo()
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
viewModel = findViewTreeViewModelStoreOwner()?.let {
ViewModelProvider(it)[ItineraryNextModel::class.java]
}
viewModel?.setDistanceCallback(this)
}
}

View File

@@ -11,6 +11,7 @@ import com.mogo.map.listener.IMogoMapListener
import com.mogo.och.unmanned.taxi.R
import kotlinx.android.synthetic.main.taxi_select_view.view.aciv_check_state
import kotlinx.android.synthetic.main.taxi_select_view.view.actv_server_name
import kotlinx.android.synthetic.main.taxi_select_view.view.wait_order_num
class TaxiSelectView @JvmOverloads constructor(
context: Context,
@@ -69,6 +70,9 @@ class TaxiSelectView @JvmOverloads constructor(
CallerLogger.d(TAG,"onDetachedFromWindow")
}
fun setRedBagVisable(visibility: Int) {
wait_order_num.visibility = visibility
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@color/taxi_color_4D000000" />
<corners android:radius="@dimen/dp_30"/>
</shape>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/dp_10"/>
<stroke android:width="@dimen/dp_2" android:color="@color/white"/>
</shape>

View File

@@ -21,7 +21,7 @@
android:id="@+id/actv_server_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
tools:checked="true"
android:button="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -29,4 +29,15 @@
android:text="@string/task_current_itinerary"
android:textColor="@color/taxi_biz_text_color_selector"
android:textSize="@dimen/dp_45" />
<ImageView
android:id="@+id/wait_order_num"
android:layout_width="@dimen/dp_32"
android:layout_height="@dimen/dp_32"
android:visibility="gone"
android:src="@drawable/taxi_new_message"
android:layout_marginTop="@dimen/dp_12"
app:layout_constraintTop_toTopOf="@+id/actv_server_name"
app:layout_constraintStart_toEndOf="@+id/actv_server_name"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<merge 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/ll_loaing_view"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.mogo.och.unmanned.taxi.wigets.TaxiSelectView
android:id="@+id/textCurrentItinerary"
app:taxi_server_title="@string/task_current_itinerary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="@dimen/dp_24"
android:layout_width="@dimen/dp_253"
android:layout_height="@dimen/dp_113"/>
<com.mogo.och.unmanned.taxi.wigets.TaxiSelectView
android:id="@+id/textNextItinerary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:taxi_server_title="@string/task_next_itinerary"
android:layout_marginStart="@dimen/dp_237"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</merge>

View File

@@ -0,0 +1,164 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
android:layout_width="@dimen/dp_880"
android:layout_height="@dimen/dp_966"
tools:background="@drawable/shape_itinerary_bg_default"
xmlns:tools="http://schemas.android.com/tools">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_order_status"
android:textSize="@dimen/dp_40"
android:textColor="@color/white"
android:text="前往接驾"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="@dimen/dp_54"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_order_close"
app:layout_constraintTop_toTopOf="@+id/actv_order_status"
app:layout_constraintBottom_toBottomOf="@+id/actv_order_status"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="@dimen/dp_53"
android:src="@drawable/taxi_task_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_order_phone"
app:layout_constraintTop_toBottomOf="@+id/actv_order_status"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_9"
android:layout_marginStart="@dimen/dp_54"
android:textSize="@dimen/dp_40"
android:textColor="@color/white"
tools:text="137****8159"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_order_count"
app:layout_constraintTop_toTopOf="@+id/actv_order_phone"
app:layout_constraintStart_toEndOf="@+id/actv_order_phone"
app:layout_constraintBottom_toBottomOf="@+id/actv_order_phone"
android:layout_marginStart="@dimen/dp_20"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:paddingTop="@dimen/dp_4"
android:paddingBottom="@dimen/dp_4"
android:textSize="@dimen/dp_30"
android:textColor="@color/white"
android:background="@drawable/shape_itinerary_bg_order_count"
tools:text="2人"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_task_type_order"
app:layout_constraintTop_toTopOf="@+id/actv_order_phone"
app:layout_constraintBottom_toBottomOf="@+id/actv_order_phone"
app:layout_constraintStart_toEndOf="@+id/actv_order_count"
android:src="@drawable/taxi_task_order"
android:layout_marginStart="@dimen/dp_20"
android:layout_width="@dimen/dp_120"
android:layout_height="@dimen/dp_50"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/group_order_info"
app:constraint_referenced_ids="aciv_task_type_order,actv_order_count,actv_order_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<View
android:id="@+id/v_bg_itinerary_info"
app:layout_constraintTop_toBottomOf="@+id/aciv_task_type_order"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="@dimen/dp_27"
android:layout_marginStart="@dimen/dp_54"
android:layout_marginEnd="@dimen/dp_52"
android:layout_width="match_parent"
android:background="@drawable/shape_itinerary_bg_default"
android:layout_height="@dimen/dp_351"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_current_itinerary_start_point"
app:layout_constraintTop_toTopOf="@+id/v_bg_itinerary_info"
app:layout_constraintStart_toStartOf="@+id/v_bg_itinerary_info"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_34"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_45"
android:src="@drawable/taxi_task_current_start_station_point" />
<View
android:id="@+id/v_line_current_start_end"
app:layout_constraintTop_toBottomOf="@+id/aciv_current_itinerary_start_point"
app:layout_constraintStart_toStartOf="@+id/aciv_current_itinerary_start_point"
app:layout_constraintEnd_toEndOf="@+id/aciv_current_itinerary_start_point"
android:layout_marginTop="@dimen/dp_8"
android:background="@color/taxi_color_4D000000"
android:layout_width="@dimen/dp_6"
android:layout_height="@dimen/dp_171"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_current_itinerary_end_point"
app:layout_constraintTop_toBottomOf="@+id/v_line_current_start_end"
app:layout_constraintStart_toStartOf="@+id/v_line_current_start_end"
app:layout_constraintEnd_toEndOf="@+id/v_line_current_start_end"
android:layout_marginTop="@dimen/dp_8"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_45"
android:src="@drawable/taxi_task_current_end_station_point" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_current_itinerary_start_name"
app:layout_constraintTop_toTopOf="@+id/aciv_current_itinerary_start_point"
app:layout_constraintBottom_toBottomOf="@+id/aciv_current_itinerary_start_point"
app:layout_constraintStart_toEndOf="@+id/aciv_current_itinerary_start_point"
android:layout_marginStart="@dimen/dp_29"
android:text="天安门"
android:textColor="@color/white"
android:textSize="@dimen/dp_40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_distance_end"
android:text="5.2公里"
android:textSize="@dimen/dp_32"
android:textColor="@color/taxi_color_CCCCCC"
app:layout_constraintTop_toBottomOf="@+id/actv_current_itinerary_start_name"
app:layout_constraintStart_toStartOf="@+id/actv_current_itinerary_start_name"
app:layout_constraintBottom_toTopOf="@+id/actv_time_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_time_end"
android:text="1小时36分钟"
android:textSize="@dimen/dp_32"
android:textColor="@color/taxi_color_CCCCCC"
app:layout_constraintTop_toBottomOf="@+id/actv_distance_end"
app:layout_constraintStart_toStartOf="@+id/actv_current_itinerary_start_name"
app:layout_constraintBottom_toTopOf="@+id/actv_current_itinerary_end_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_current_itinerary_end_name"
app:layout_constraintTop_toTopOf="@+id/aciv_current_itinerary_end_point"
app:layout_constraintBottom_toBottomOf="@+id/aciv_current_itinerary_end_point"
app:layout_constraintStart_toEndOf="@+id/aciv_current_itinerary_end_point"
android:layout_marginStart="@dimen/dp_29"
android:text="环球贸易中心"
android:textColor="@color/white"
android:textSize="@dimen/dp_40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</merge>

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
android:layout_width="@dimen/dp_774"
android:layout_height="@dimen/dp_300"
android:background="@drawable/shape_itinerary_bg_default"
xmlns:tools="http://schemas.android.com/tools">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_order_phone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_26"
android:layout_marginStart="@dimen/dp_30"
android:textSize="@dimen/dp_40"
android:textColor="@color/white"
tools:text="137****8159"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_order_count"
app:layout_constraintTop_toTopOf="@+id/actv_order_phone"
app:layout_constraintStart_toEndOf="@+id/actv_order_phone"
app:layout_constraintBottom_toBottomOf="@+id/actv_order_phone"
android:layout_marginStart="@dimen/dp_20"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:paddingTop="@dimen/dp_4"
android:paddingBottom="@dimen/dp_4"
android:textSize="@dimen/dp_30"
android:textColor="@color/white"
android:background="@drawable/shape_itinerary_bg_order_count"
tools:text="2人"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_task_type_order"
app:layout_constraintTop_toTopOf="@+id/actv_order_phone"
app:layout_constraintBottom_toBottomOf="@+id/actv_order_phone"
app:layout_constraintStart_toEndOf="@+id/actv_order_count"
android:src="@drawable/taxi_task_order"
android:layout_marginStart="@dimen/dp_20"
android:layout_width="@dimen/dp_120"
android:layout_height="@dimen/dp_50"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/group_order_info"
app:constraint_referenced_ids="aciv_task_type_order,actv_order_count,actv_order_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_task_type_exercise"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_29"
android:src="@drawable/taxi_task_exercise"
android:layout_marginStart="@dimen/dp_30"
android:layout_width="@dimen/dp_120"
android:layout_height="@dimen/dp_50"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_next_start_station_point"
android:src="@drawable/taxi_task_start_station_point"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="@dimen/dp_113"
android:layout_marginStart="@dimen/dp_30"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"/>
<androidx.appcompat.widget.AppCompatTextView
app:layout_constraintTop_toTopOf="@+id/aciv_next_start_station_point"
app:layout_constraintBottom_toBottomOf="@+id/aciv_next_start_station_point"
app:layout_constraintStart_toEndOf="@+id/aciv_next_start_station_point"
android:layout_marginStart="@dimen/dp_20"
android:textColor="@color/white"
android:textSize="@dimen/dp_36"
android:padding="0dp"
android:gravity="center_vertical"
android:text="天安门"
android:lineSpacingMultiplier="1.2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<View
android:id="@+id/v_line_next_start_end"
app:layout_constraintTop_toBottomOf="@+id/aciv_next_start_station_point"
app:layout_constraintStart_toStartOf="@+id/aciv_next_start_station_point"
app:layout_constraintEnd_toEndOf="@+id/aciv_next_start_station_point"
android:layout_marginTop="@dimen/dp_4"
android:background="@color/taxi_color_4D000000"
android:layout_width="@dimen/dp_2"
android:layout_height="@dimen/dp_80"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_next_end_station_point"
android:src="@drawable/taxi_task_end_station_point"
app:layout_constraintTop_toBottomOf="@+id/v_line_next_start_end"
app:layout_constraintStart_toStartOf="@+id/v_line_next_start_end"
app:layout_constraintEnd_toEndOf="@+id/v_line_next_start_end"
android:layout_marginTop="@dimen/dp_6"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"/>
<androidx.appcompat.widget.AppCompatTextView
app:layout_constraintTop_toTopOf="@+id/aciv_next_end_station_point"
app:layout_constraintBottom_toBottomOf="@+id/aciv_next_end_station_point"
app:layout_constraintStart_toEndOf="@+id/aciv_next_end_station_point"
android:layout_marginStart="@dimen/dp_20"
android:textColor="@color/white"
android:textSize="@dimen/dp_36"
android:padding="0dp"
android:gravity="center_vertical"
android:text="环球贸易中心"
android:lineSpacingMultiplier="1.2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</merge>

View File

@@ -20,6 +20,13 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_v_right"
app:layout_constraintGuide_end="@dimen/dp_41"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatImageView
android:src="@drawable/taxi_biz_bg_header"
app:layout_constraintEnd_toEndOf="parent"
@@ -40,19 +47,39 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.mogo.och.unmanned.taxi.wigets.TaxiSelectView
app:taxi_server_title="@string/task_current_itinerary"
app:layout_constraintTop_toBottomOf="@+id/guideline_h_top"
app:layout_constraintStart_toEndOf="@+id/guideline_v_left"
android:layout_marginStart="@dimen/dp_24"
<com.mogo.och.unmanned.taxi.ui.bizswitch.TaxiSelectViewGroup
android:id="@+id/taxiServerSelector"
app:layout_constraintTop_toBottomOf="@+id/guideline_h_top"
app:layout_constraintStart_toEndOf="@+id/guideline_v_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.mogo.och.common.module.wigets.map.orderstatus.OrderStatusView
android:id="@+id/order_operation_change"
app:layout_constraintTop_toTopOf="@+id/guideline_h_top"
android:layout_marginTop="@dimen/dp_30"
app:layout_constraintEnd_toEndOf="@+id/guideline_v_right"
android:layout_marginEnd="@dimen/dp_47"
android:layout_width="@dimen/dp_118"
android:layout_height="@dimen/dp_50"/>
<com.mogo.och.unmanned.taxi.ui.itinerarycurrent.ItineraryCurrentView
android:id="@+id/currentItinerary"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_28"
app:layout_constraintEnd_toEndOf="parent"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@+id/taxiServerSelector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.mogo.och.unmanned.taxi.wigets.TaxiSelectView
app:layout_constraintTop_toBottomOf="@+id/guideline_h_top"
app:layout_constraintStart_toEndOf="@+id/guideline_v_left"
app:taxi_server_title="@string/task_next_itinerary"
android:layout_marginStart="@dimen/dp_237"
<com.mogo.och.unmanned.taxi.ui.itinerarynext.ItineraryNextView
android:id="@+id/nextItinerary"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_87"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/taxiServerSelector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

View File

@@ -35,4 +35,6 @@
<color name="taxi_color_ccb9c3e9">#CCB9C3E9</color>
<color name="taxi_color_2eacff">#2EACFF</color>
<color name="taxi_color_4dffffff">#4Dffffff</color>
<color name="taxi_color_4D000000">#4D000000</color>
<color name="taxi_color_CCCCCC">#CCCCCC</color>
</resources>