app/src/main/java/com/xw/yunwei/model/CarModel.kt
@@ -244,4 +244,9 @@ */ @SerializedName("updateTime") val updateTime: String? = null ) : Parcelable ) : Parcelable { //是否已经开启接单 fun hadOpenTakeOrder(): Boolean { return acceptOrTest == 1 && acceptOrTestStatus == 1 } } app/src/main/java/com/xw/yunwei/ui/dialog/ConfirmAcceptCarPointDialog.kt
New file @@ -0,0 +1,33 @@ package com.xw.yunwei.ui.dialog import android.content.Context import android.view.Gravity import android.widget.TextView import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.customview.customView import com.xw.yunwei.R import com.xw.yunwei.utils.DialogFactory //收车点确认弹窗 object ConfirmAcceptCarPointDialog { fun show( context: Context, reasons: List<String>, submitBlock: (position: Int, input: String, dialog: MaterialDialog) -> Unit ) { val dialog = DialogFactory.produce(context).apply { customView( R.layout.dialog_confirm_accept_car_point, noVerticalPadding = true, dialogWrapContent = false ) cornerRadius(8f) val tv_title = findViewById<TextView>(R.id.tv_title) } dialog.show() dialog.window?.setGravity(Gravity.CENTER) dialog.window?.setWindowAnimations(com.xw.common.R.style.AnimLeft) } } app/src/main/java/com/xw/yunwei/ui/dialog/SelectConfirmAcceptCarPointDialog.kt
New file @@ -0,0 +1,31 @@ package com.xw.yunwei.ui.dialog import android.content.Context import android.view.Gravity import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.customview.customView import com.xw.yunwei.R import com.xw.yunwei.utils.DialogFactory //选择确认收车点弹窗 object SelectConfirmAcceptCarPointDialog { fun show( context: Context, reasons: List<String>, submitBlock: (position: Int, input: String, dialog: MaterialDialog) -> Unit ) { val dialog = DialogFactory.produce(context).apply { customView( R.layout.dialog_apply_for_reassign_reason, noVerticalPadding = true, dialogWrapContent = false ) cornerRadius(4f) } dialog.show() dialog.window?.setGravity(Gravity.CENTER) dialog.window?.setWindowAnimations(com.xw.common.R.style.AnimLeft) } } app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailActivity.kt
@@ -21,7 +21,7 @@ class CarDetailActivity : BaseBusinessActivity<ActivityCarDetailBinding, CarDetailVM>() { override fun getBindingVariable() = BR.viewModel private val tabTitles = listOf("车辆调度", "车辆运维", "车辆管理") private val tabTitles = listOf("运营管理", "车辆运维", "车辆管理") override fun init() { super.init() @@ -71,7 +71,7 @@ override fun getItemCount(): Int = tabTitles.size override fun createFragment(position: Int): Fragment { return when (tabTitles[position]) { "车辆调度" -> DispatchFragment() "运营管理" -> DispatchFragment() "车辆运维" -> OperationsFragment() "车辆管理" -> ManagementFragment() else -> error("Wrong position $position") app/src/main/java/com/xw/yunwei/ui/work/car/detail/dispatch/DispatchFragment.kt
@@ -5,9 +5,8 @@ import com.xw.common.custom.SlideButtonView import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_LEFT import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_RIGHT import com.xw.common.utils.BindUtils.getUrl import com.xw.common.utils.BindUtils.getResColor import com.xw.common.utils.ToastUtilCommon import com.xw.common.utils.BindUtils.getUrl import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter import com.xw.yunwei.R @@ -16,7 +15,7 @@ import com.xw.yunwei.ui.work.car.detail.CarDetailActivity /** * 车辆调度 * 运营管理 */ class DispatchFragment : BaseFragmentNoVM<FragmentCarDispatchBinding>() { @@ -32,7 +31,6 @@ super.setObservable() viewModel.carInfo.observe(this) { initBasicInfo(it) initSlideView(it) } } @@ -59,66 +57,23 @@ } } } with(binding.slideView2) { setOnSlideCompleteListener { val carInfo = viewModel.carInfo.value carInfo?.let { carInfo -> val setStatus = if (carInfo.acceptOrTestStatus == 1) 2 else 1 val map = mutableMapOf<String, Any?>() map["vehicleId"] = carInfo.id // 车辆ID map["acceptOrTest"] = carInfo.acceptOrTest // 当前模式 1接单 2测试 map["acceptOrTestStatus"] = setStatus // 模式状态 1开始接单/开始测试 2停止接单/停止测试 viewModel.vehicleDispatchAccept(map, { binding.slideView2.animateReset() }) { carInfo.acceptOrTestStatus = setStatus if (getSlideDirection() == DIRECTION_RIGHT) { val text = if (carInfo.acceptOrTest == 1) "左滑关闭接单" else "左滑关闭测试" resetSlideView(this, DIRECTION_LEFT, text) } else if (getSlideDirection() == DIRECTION_LEFT) { val text = if (carInfo.acceptOrTest == 1) "右滑开始接单" else "右滑开始测试" resetSlideView(this, DIRECTION_RIGHT, text) } } } } } binding.takeOrders.setOnClickListener { viewModel.carInfo.value?.let { if (it.acceptOrTest != 1) { val map = mutableMapOf<String, Any?>() map["vehicleId"] = it.id // 车辆ID map["acceptOrTest"] = 1 // 当前模式 1接单 2测试 map["acceptOrTestStatus"] = 1 // 模式状态 1开始接单/开始测试 2停止接单/停止测试 viewModel.vehicleDispatchAccept(map, { binding.slideView2.animateReset() }) { it.acceptOrTest = 1 it.acceptOrTestStatus = 1 initSlideView(it) } binding.cbTakeOrder.setOnCheckedChangeListener { button, bool -> viewModel.carInfo.value?.takeIf { it.hadOpenTakeOrder() != bool }?.also { carInfo -> val setStatus = if (carInfo.acceptOrTestStatus == 1) 2 else 1 val map = mutableMapOf<String, Any?>() map["vehicleId"] = carInfo.id // 车辆ID map["acceptOrTest"] = carInfo.acceptOrTest // 当前模式 1接单 2测试 map["acceptOrTestStatus"] = setStatus // 模式状态 1开始接单/开始测试 2停止接单/停止测试 viewModel.vehicleDispatchAccept(map, { viewModel.queryInfo() }) { viewModel.carInfo.postValue(carInfo.copy(acceptOrTestStatus = setStatus)) } } } binding.test.setOnClickListener { viewModel.carInfo.value?.let { if (it.acceptOrTest != 2) { val map = mutableMapOf<String, Any?>() map["vehicleId"] = it.id // 车辆ID map["acceptOrTest"] = 2 // 当前模式 1接单 2测试 map["acceptOrTestStatus"] = 1 // 模式状态 1开始接单/开始测试 2停止接单/停止测试 viewModel.vehicleDispatchAccept(map, { binding.slideView2.animateReset() }) { it.acceptOrTest = 2 it.acceptOrTestStatus = 1 initSlideView(it) } } } } binding.unlockDoor.setOnClickListener { viewModel.unlockByType(1) } binding.unlockBox.setOnClickListener { viewModel.unlockByType(2) } } @@ -152,34 +107,8 @@ try { url = it.vehiclePictures?.getUrl() ?: "" } catch (e: Exception) { e.printStackTrace() } ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car1)) } private fun initSlideView(it: CarModel) { if (it.acceptOrTest == 1) { binding.takeOrders.setBackgroundResource(R.drawable.shape_white_bg_4) binding.test.setBackgroundResource(com.xw.common.R.color.color_transparent) if (it.acceptOrTestStatus == 1) { resetSlideView(binding.slideView2, DIRECTION_RIGHT, "右滑开始接单") } else { resetSlideView(binding.slideView2, DIRECTION_LEFT, "左滑关闭接单") } } else if (it.acceptOrTest == 2) { binding.test.setBackgroundResource(R.drawable.shape_white_bg_4) binding.takeOrders.setBackgroundResource(com.xw.common.R.color.color_transparent) if (it.acceptOrTestStatus == 1) { resetSlideView(binding.slideView2, DIRECTION_RIGHT, "右滑开始测试") } else { resetSlideView(binding.slideView2, DIRECTION_LEFT, "左滑关闭测试") } } if (it.operatingStatus == 1) { resetSlideView(binding.slideView1, DIRECTION_LEFT, "左滑收车") } else { resetSlideView(binding.slideView1, DIRECTION_RIGHT, "右滑发车") } } } app/src/main/res/drawable/selector_switch_off_on.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/icon_switch_on" android:state_checked="true" /> <item android:drawable="@mipmap/icon_switch_off" android:state_checked="false" /> </selector> app/src/main/res/drawable/shape_0d31456a_0031456a_bg_4.xml
New file @@ -0,0 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="-90" android:endColor="@color/color_0031456a" android:startColor="@color/color_0d31456a" /> <corners android:radius="@dimen/dp_4" /> </shape> app/src/main/res/drawable/shape_0d31456a_bg_8.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/color_0d31456a" /> <corners android:radius="@dimen/dp_8" /> </shape> app/src/main/res/drawable/shape_blue1_00006be1_bg_4.xml
New file @@ -0,0 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:endColor="@color/color_00006be1" android:startColor="@color/blue_1" /> <corners android:radius="@dimen/dp_4" /> </shape> app/src/main/res/drawable/shape_e5f0fc_bg_2.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="@dimen/dp_2" /> <solid android:color="@color/color_e5f0fc" /> </shape> app/src/main/res/layout/dialog_confirm_accept_car_point.xml
New file @@ -0,0 +1,98 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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="wrap_content" android:background="@drawable/shape_while_bg_5" android:orientation="vertical" android:padding="@dimen/dp_16"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="收车点确认" android:textColor="@color/gray_9" android:textSize="@dimen/sp_16" android:textStyle="bold" /> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/shape_0d31456a_bg_8" android:padding="@dimen/dp_16"> <TextView android:id="@+id/tv_label" android:layout_width="@dimen/dp_38" android:layout_height="@dimen/dp_18" android:background="@drawable/shape_e5f0fc_bg_2" android:gravity="center" android:text="默认" android:textColor="@color/color_0256ff" android:textSize="@dimen/sp_11" app:layout_constraintBottom_toBottomOf="@id/tv_title" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_title" /> <TextView android:id="@+id/tv_title" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_4" android:singleLine="true" android:textColor="@color/gray_9" android:textSize="@dimen/sp_14" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/tv_label" app:layout_constraintTop_toTopOf="parent" tools:text="广州市白云机场T2航站楼" /> <TextView android:id="@+id/tv_detail" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_4" android:textColor="@color/color_838fa6" android:textSize="@dimen/sp_14" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_title" tools:text="深圳市宝安区西大街阳光绿色温馨家园17号楼313" /> </androidx.constraintlayout.widget.ConstraintLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_20" android:orientation="horizontal"> <androidx.appcompat.widget.AppCompatTextView android:id="@+id/tv_change" android:layout_width="0dp" android:layout_height="@dimen/dp_42" android:layout_marginEnd="@dimen/dp_6" android:layout_weight="1" android:background="@drawable/shape_gray_5_line_4" android:gravity="center" android:text="更换收车点" android:textColor="@color/gray_9" android:textSize="@dimen/sp_16" /> <androidx.appcompat.widget.AppCompatTextView android:id="@+id/tv_confirm" android:layout_width="0dp" android:layout_height="@dimen/dp_42" android:layout_marginStart="@dimen/dp_6" android:layout_weight="1" android:background="@drawable/shape_blue_5_bg_4" android:gravity="center" android:text="确认并收车" android:textColor="@color/white" android:textSize="@dimen/sp_16" android:textStyle="bold" /> </LinearLayout> </LinearLayout> app/src/main/res/layout/fragment_car_dispatch.xml
@@ -13,19 +13,28 @@ <androidx.core.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/color_surface"> android:background="@color/white"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/dp_50"> <View android:layout_width="0dp" android:layout_height="@dimen/dp_315" android:layout_marginHorizontal="@dimen/dp_8" android:background="@drawable/shape_0d31456a_0031456a_bg_4" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <androidx.appcompat.widget.AppCompatTextView android:id="@+id/carNo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:layout_marginTop="@dimen/dp_20" android:layout_marginTop="@dimen/dp_10" android:text="@{viewModel.carInfo.plateNumber}" android:textColor="@color/gray_9" android:textSize="@dimen/sp_24" @@ -77,109 +86,68 @@ android:id="@+id/icon" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_8" android:adjustViewBounds="true" android:src="@mipmap/img_work_car1" app:layout_constraintTop_toBottomOf="@+id/basicLayout" /> <LinearLayout android:id="@+id/unlockLayout" android:id="@+id/ll_destination" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_14" android:layout_marginHorizontal="@dimen/dp_20" android:layout_marginTop="@dimen/dp_12" android:baselineAligned="false" android:gravity="center_vertical" android:orientation="horizontal" android:visibility="gone" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@+id/icon"> app:layout_constraintTop_toBottomOf="@+id/icon" tools:visibility="visible"> <androidx.appcompat.widget.AppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="当前正在前往收车点" android:textColor="@color/color_cc31456A" android:textSize="@dimen/sp_11" /> <LinearLayout android:id="@+id/unlockDoor" show="@{viewModel.unlockDoorPermissions}" android:layout_width="0dp" android:layout_height="@dimen/dp_48" android:layout_marginHorizontal="@dimen/dp_6" android:layout_weight="1" android:background="@drawable/shape_blue1_bg_4" android:gravity="center" android:orientation="horizontal"> android:layout_width="match_parent" android:layout_height="@dimen/dp_21" android:layout_marginStart="@dimen/dp_4" android:background="@drawable/shape_blue1_00006be1_bg_4" android:gravity="center_vertical" android:orientation="horizontal" android:paddingHorizontal="@dimen/dp_4"> <androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:src="@drawable/svg_car_cmjs" android:tint="@color/blue_5" /> <ImageView android:layout_width="@dimen/dp_12" android:layout_height="@dimen/dp_12" android:src="@mipmap/icon_location_blue" /> <androidx.appcompat.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginEnd="@dimen/dp_20" android:layout_marginStart="@dimen/dp_4" android:layout_weight="1" android:gravity="center" android:text="车门解锁" android:ellipsize="end" android:singleLine="true" android:textColor="@color/blue_5" android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_11" tools:text="广州市天河区珠江新城幸福小区东北门广州市天河区珠江新城幸福小区东北门" /> </LinearLayout> <LinearLayout android:id="@+id/unlockBox" android:layout_width="0dp" android:layout_height="@dimen/dp_48" show="@{viewModel.unlockBoxPermissions}" android:layout_marginHorizontal="@dimen/dp_6" android:layout_weight="1" android:background="@drawable/shape_blue1_bg_4" android:gravity="center" android:orientation="horizontal"> <androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:src="@drawable/svg_car_hbxjs" android:tint="@color/blue_5" /> <androidx.appcompat.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginEnd="@dimen/dp_20" android:layout_weight="1" android:gravity="center" android:text="后备箱解锁" android:textColor="@color/blue_5" android:textSize="@dimen/sp_14" /> </LinearLayout> </LinearLayout> <androidx.appcompat.widget.AppCompatTextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_30" app:layout_goneMarginTop="@dimen/dp_12" show="@{viewModel.departurePermissions}" android:text="发车状态" android:textColor="@color/gray_9" android:textSize="@dimen/sp_16" android:textStyle="bold" app:layout_constraintLeft_toLeftOf="parent" android:layout_marginStart="@dimen/dp_20" app:layout_constraintTop_toBottomOf="@+id/unlockLayout" /> <com.xw.common.custom.SlideButtonView android:id="@+id/slideView1" show="@{viewModel.departurePermissions}" android:layout_width="match_parent" android:layout_height="@dimen/dp_42" android:layout_marginHorizontal="@dimen/dp_20" show="@{viewModel.departurePermissions}" android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_8" app:backgroundCornerRadius="@dimen/dp_4" app:layout_constraintTop_toBottomOf="@+id/tv" app:layout_constraintTop_toBottomOf="@id/ll_destination" app:layout_goneMarginTop="@dimen/dp_12" app:slideBackgroundColor="@color/blue_1" app:slideDirection="right" app:slideText="右滑发车" @@ -191,78 +159,149 @@ <LinearLayout android:id="@+id/layout1" android:layout_width="match_parent" android:layout_height="wrap_content" show="@{viewModel.takeOrdersPermissions}" android:layout_width="match_parent" android:layout_height="@dimen/dp_72" android:layout_marginHorizontal="@dimen/dp_20" android:layout_marginTop="@dimen/dp_30" android:layout_marginTop="@dimen/dp_12" android:layout_marginBottom="8dp" android:gravity="center_vertical" android:orientation="horizontal" app:layout_constraintTop_toBottomOf="@+id/slideView1"> <androidx.appcompat.widget.AppCompatTextView <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="接单/测试" android:textColor="@color/gray_9" android:textSize="@dimen/sp_16" android:textStyle="bold" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/shape_gray_3_bg_4" android:orientation="horizontal" android:padding="@dimen/dp_2"> android:orientation="vertical"> <androidx.appcompat.widget.AppCompatTextView android:id="@+id/takeOrders" android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@drawable/shape_white_bg_4" android:gravity="center" android:paddingHorizontal="@dimen/dp_12" android:paddingVertical="@dimen/dp_6" android:text="接单" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="接单状态" android:textColor="@color/gray_9" android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_14" android:textStyle="bold" /> <androidx.appcompat.widget.AppCompatTextView android:id="@+id/test" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:paddingHorizontal="@dimen/dp_12" android:paddingVertical="@dimen/dp_6" android:text="测试" android:textColor="@color/gray_9" android:textSize="@dimen/sp_12" android:textStyle="bold" /> android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_4" android:text="控制平台是否给该车辆派发运营订单" android:textColor="@color/gray_7" android:textSize="@dimen/sp_12" /> </LinearLayout> <CheckBox android:id="@+id/cb_take_order" android:layout_width="@dimen/dp_52" android:layout_height="@dimen/dp_32" android:background="@drawable/selector_switch_off_on" android:button="@null" android:checked="@{viewModel.carInfo.hadOpenTakeOrder()}" android:text="" /> </LinearLayout> <com.xw.common.custom.SlideButtonView android:id="@+id/slideView2" <LinearLayout android:id="@+id/unlockLayout" show="@{(viewModel.unlockDoorPermissions||viewModel.unlockBoxPermissions)&&!viewModel.carInfo.hadOpenTakeOrder()}" android:layout_width="match_parent" android:layout_height="@dimen/dp_42" android:layout_marginHorizontal="@dimen/dp_20" show="@{viewModel.takeOrdersPermissions}" android:layout_marginTop="@dimen/dp_10" app:backgroundCornerRadius="@dimen/dp_4" app:layout_constraintTop_toBottomOf="@+id/layout1" app:slideBackgroundColor="@color/orange_5" app:slideDirection="left" app:slideText="左滑关闭接单" app:slideTextColor="@color/white" app:slideTextSize="@dimen/sp_14" app:thumbCornerRadius="@dimen/dp_4" app:thumbDrawable="@mipmap/ic_slide_l" app:thumbShape="roundRect" /> android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@id/layout1"> <View android:layout_width="match_parent" android:layout_height="1px" android:layout_marginHorizontal="@dimen/dp_20" android:background="@color/gray_4" /> <androidx.appcompat.widget.AppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:layout_marginTop="@dimen/dp_16" android:text="车辆控制" android:textColor="@color/gray_9" android:textSize="@dimen/sp_14" android:textStyle="bold" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@+id/icon" app:layout_goneMarginTop="@dimen/dp_12" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_14" android:layout_marginTop="@dimen/dp_8" android:baselineAligned="false" android:orientation="horizontal" android:visibility="gone" tools:visibility="visible"> <LinearLayout android:id="@+id/unlockDoor" show="@{viewModel.unlockDoorPermissions}" android:layout_width="0dp" android:layout_height="@dimen/dp_48" android:layout_marginHorizontal="@dimen/dp_6" android:layout_weight="1" android:background="@drawable/shape_blue1_bg_4" android:gravity="center" android:orientation="horizontal"> <androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:src="@drawable/svg_car_cmjs" android:tint="@color/blue_5" /> <androidx.appcompat.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginEnd="@dimen/dp_20" android:layout_weight="1" android:gravity="center" android:text="车门解锁" android:textColor="@color/blue_5" android:textSize="@dimen/sp_14" /> </LinearLayout> <LinearLayout android:id="@+id/unlockBox" show="@{viewModel.unlockBoxPermissions}" android:layout_width="0dp" android:layout_height="@dimen/dp_48" android:layout_marginHorizontal="@dimen/dp_6" android:layout_weight="1" android:background="@drawable/shape_blue1_bg_4" android:gravity="center" android:orientation="horizontal"> <androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:src="@drawable/svg_car_hbxjs" android:tint="@color/blue_5" /> <androidx.appcompat.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginEnd="@dimen/dp_20" android:layout_weight="1" android:gravity="center" android:text="后备箱解锁" android:textColor="@color/blue_5" android:textSize="@dimen/sp_14" /> </LinearLayout> </LinearLayout> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/mipmap-xhdpi/icon_location_blue.png
app/src/main/res/mipmap-xhdpi/icon_switch_off.png
app/src/main/res/mipmap-xhdpi/icon_switch_on.png
app/src/main/res/values/colors.xml
@@ -16,4 +16,10 @@ <color name="color_0f31456a">#0f31456A</color> <color name="color_1a026ee4">#1a026EE4</color> <color name="color_4c5e7e">#4C5E7E</color> <color name="color_dcdcdc">#DCDCDC</color> <color name="color_0d31456a">#0d31456a</color> <color name="color_0031456a">#0031456A</color> <color name="color_00006be1">#00006be1</color> <color name="color_e5f0fc">#e5f0fc</color> <color name="color_0256ff">#0256ff</color> </resources>