[页面调整]

This commit is contained in:
yangyakun
2023-02-27 07:31:41 +08:00
parent 09a8303426
commit 815c8eba3a
18 changed files with 520 additions and 36 deletions

View File

@@ -0,0 +1,28 @@
package com.mogo.och.bus.passenger.model
/**
* Created on 2022/08/19
*
*
* 0 初始状态,
* 10 已登录,
* 20 已登出,
*/
enum class OrderStatusEnum(val code: Int) {
NoOrderUnuse( 0 ), //无订单车闲置 m1_order_noorder.xml 无订单页面
OrderNoLine( 10), //有订单无线路 m1_order_lineside 选择线路页面
OrdersWithLine( 20), //有订单有线路 m1_order_lineside 选择线路页面隐藏掉确定取消
NoOrderUse( 30),; //无订单车不闲置 m1_order_end.xml 开门关门页面
companion object {
@JvmStatic
fun valueOf(code: Int): OrderStatusEnum? {
for (value in values()) {
if (value.code == code) {
return value
}
}
return NoOrderUnuse
}
}
}

View File

@@ -0,0 +1,61 @@
package com.mogo.och.bus.passenger.ui.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.bean.response.LineInfoResponse
/**
* Created by adityagohad on 06/06/17.
*/
class OrderLineItemAdapter(private val context: Context, private val dataList: List<LineInfoResponse.Result>) : RecyclerView.Adapter<OrderLineItemAdapter.TextVH>() {
private var checkIndex = -1
var checkChangeListener:CheckListener?=null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH {
val view: View
val inflater = LayoutInflater.from(context)
view = inflater.inflate(R.layout.m1_order_line_item, parent, false)
return TextVH(view)
}
override fun onBindViewHolder(holder: TextVH, position: Int) {
val lineInfo = dataList[holder.bindingAdapterPosition]
if (position==checkIndex){
holder.lineNameTextView.setBackgroundResource(R.drawable.m1_order_line_checked_shape)
}else{
holder.lineNameTextView.setBackgroundResource(android.R.color.transparent)
}
holder.lineNameTextView.text = lineInfo.name
holder.lineNameTextView.setOnClickListener {
val preChecked = checkIndex
checkIndex = holder.bindingAdapterPosition
notifyItemChanged(preChecked)
notifyItemChanged(checkIndex)
checkChangeListener?.onCheckListener(lineInfo)
}
}
override fun getItemCount(): Int {
return dataList.size
}
interface CheckListener{
fun onCheckListener(lineInfo:LineInfoResponse.Result)
}
inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) {
var lineNameTextView: TextView
init {
lineNameTextView = itemView.findViewById(R.id.tv_line_name)
}
}
}

View File

@@ -0,0 +1,88 @@
package com.mogo.och.bus.passenger.ui.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.bean.response.LineInfoResponse
import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse
/**
* Created by adityagohad on 06/06/17.
*/
class OrderSiteItemAdapter(private val context: Context, private val dataList: List<SiteInfoResponse.SiteInfo>) : RecyclerView.Adapter<OrderSiteItemAdapter.TextVH>() {
private var checkIndex = -1
private var enableIndex = -1
var checkChangeListener:CheckListener?=null
fun setEnableIndex(enableIndex:Int){
this.enableIndex = enableIndex
notifyDataSetChanged()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH {
val view: View
val inflater = LayoutInflater.from(context)
view = inflater.inflate(R.layout.m1_order_site_item, parent, false)
return TextVH(view)
}
override fun onBindViewHolder(holder: TextVH, position: Int) {
val siteInfo = dataList[holder.bindingAdapterPosition]
if(holder.bindingAdapterPosition>enableIndex){
if (position == checkIndex) {
holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_checked)
} else {
holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check)
}
holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_2C2D31))
}else {
holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check)
holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_662C2D31))
}
holder.tv_site_site_name.text = siteInfo.lineName
holder.itemView.setOnClickListener {
if(holder.bindingAdapterPosition>enableIndex) {
val preChecked = checkIndex
checkIndex = holder.bindingAdapterPosition
notifyItemChanged(preChecked)
notifyItemChanged(checkIndex)
checkChangeListener?.onCheckListener(siteInfo)
}else{
ToastUtils.showShort("请选择可选站点")
}
}
}
override fun getItemCount(): Int {
return dataList.size
}
fun clearCheck() {
val temp = checkIndex
checkIndex = -1
notifyItemChanged(temp)
}
interface CheckListener{
fun onCheckListener(siteInfo:SiteInfoResponse.SiteInfo)
}
inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) {
var tv_site_site_name: TextView
var iv_site_checked: ImageView
init {
tv_site_site_name = itemView.findViewById(R.id.tv_site_site_name)
iv_site_checked = itemView.findViewById(R.id.iv_site_checked)
}
}
}

View File

@@ -1,18 +1,146 @@
package com.mogo.och.bus.passenger.ui.view
import android.animation.ObjectAnimator
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.view.animation.LinearInterpolator
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView
import androidx.recyclerview.widget.LinearLayoutManager
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.bean.response.LineInfoResponse
import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse
import com.mogo.och.bus.passenger.ui.adapter.OrderLineItemAdapter
import com.mogo.och.bus.passenger.ui.adapter.OrderSiteItemAdapter
import com.mogo.och.bus.passenger.view.BottomDecoration
import com.mogo.och.bus.passenger.view.RecyclerViewCornerRadius
import kotlinx.android.synthetic.m1.m1_order_lineside.view.*
import kotlinx.android.synthetic.m1.m1_soft_fragment.*
import me.jessyan.autosize.utils.AutoSizeUtils
class LineSiteView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
private var checkLine: LineInfoResponse.Result?=null
private var checkSite: SiteInfoResponse.SiteInfo?=null
private var tempCheckLine: LineInfoResponse.Result?=null
private var tempCheckSite: SiteInfoResponse.SiteInfo?=null
private val lineList = mutableListOf<LineInfoResponse.Result>()
private val siteList = mutableListOf<SiteInfoResponse.SiteInfo>()
private var lineAdapter: OrderLineItemAdapter
private var siteAdapter: OrderSiteItemAdapter
private val loadingAni = ObjectAnimator.ofFloat(iv_loading_wait_driver, "rotation", 0f, 90f ,180f, 270f, 360f).apply {
repeatCount = -1
interpolator = LinearInterpolator()
duration = 1000
}
init {
LayoutInflater.from(context).inflate(R.layout.m1_order_lineside, this, true)
lineAdapter = OrderLineItemAdapter(context,lineList)
siteAdapter = OrderSiteItemAdapter(context,siteList)
loadingAni.target = iv_loading_wait_driver
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
lineList.add(LineInfoResponse.Result("路线名称1",1))
lineList.add(LineInfoResponse.Result("路线名称2",2))
lineList.add(LineInfoResponse.Result("路线名称3",3))
lineList.add(LineInfoResponse.Result("路线名称4",4))
lineList.add(LineInfoResponse.Result("路线名称5",5))
lineList.add(LineInfoResponse.Result("路线名称6",6))
lineList.add(LineInfoResponse.Result("路线名称7",7))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",1,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",2,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",3,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",4,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",5,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",6,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",7,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",8,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",9,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",10,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",11,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",12,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
siteList.add(SiteInfoResponse.SiteInfo(1,"线路id",13,"站点名称",0.0,0.0,0.0,0.0,0.0,0))
rlv_line_list.layoutManager = LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false)
rlv_line_list.addItemDecoration(BottomDecoration(AutoSizeUtils.dp2px(context,60f)))
rlv_line_list.adapter = lineAdapter
rv_site_list.layoutManager = LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false)
rv_site_list.addItemDecoration(BottomDecoration(AutoSizeUtils.dp2px(context,60f)))
rv_site_list.adapter = siteAdapter
initListener()
}
private fun initListener() {
lineAdapter.checkChangeListener = object :OrderLineItemAdapter.CheckListener{
override fun onCheckListener(lineInfo: LineInfoResponse.Result) {
ToastUtils.showLong("选中线路${lineInfo} 对比当前坐标计算需要禁用的站点")
tempCheckLine = lineInfo
siteAdapter.clearCheck()
siteAdapter.setEnableIndex(3)
}
}
siteAdapter.checkChangeListener = object :OrderSiteItemAdapter.CheckListener{
override fun onCheckListener(siteInfo: SiteInfoResponse.SiteInfo) {
// 设置临时选中的
tempCheckSite = siteInfo
}
}
tv_line_cancle.onClick {
ToastUtils.showLong("取消切换")
}
tv_line_submit.onClick {
ToastUtils.showLong("向司机端确认弹出loading 并启动轮询查看是否正常连接司机端、等待结果")
startAni()
}
tv_site_cancle.onClick {
ToastUtils.showLong("取消切换")
}
tv_site_submit.onClick {
ToastUtils.showLong("向司机端确认弹出loading 并启动轮询查看是否正常连接司机端、等待结果")
}
tv_switch_line.onClick {
ToastUtils.showLong("判断速度是否为0,开始查询线路信息")
}
tv_loading_wait_driver_title.onClick {
endAni()
}
}
fun startAni(){
g_lines_sites_data.visibility = View.GONE
g_loading_group.visibility = View.VISIBLE
if(!loadingAni.isRunning) {
loadingAni.start()
}
}
fun endAni(){
g_lines_sites_data.visibility = View.VISIBLE
g_loading_group.visibility = View.GONE
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
loadingAni.cancel()
}
}

View File

@@ -0,0 +1,43 @@
package com.mogo.och.bus.passenger.view;
import android.graphics.Rect;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
import com.mogo.och.bus.passenger.ui.adapter.TemperatureAdapter;
public class BottomDecoration extends RecyclerView.ItemDecoration {
/**
* 第一个视图和最后一个视图偏移的距离
*/
public static int distance = 0;
/**
* 设置RecyclerView子视图的边距本示例仅用于定义两个子视图之间的边距为space*2
*/
public BottomDecoration(int distance) {
this.distance = distance;
}
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
int pos = parent.getChildAdapterPosition(view);
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams)view.getLayoutParams();
/**
* 通过设置Item左右边距实现第一个左侧和最后一个右侧设置边距,确保显示的视图位于屏幕中间
*/
int itemCount = parent.getAdapter().getItemCount();
if(pos == itemCount-1){
layoutParams.setMargins(0,0,0,distance);
}else {
layoutParams.setMargins(0,0,0,0);
}
view.setLayoutParams(layoutParams);
super.getItemOffsets(outRect, view, parent, state);
}
}

View File

@@ -0,0 +1,70 @@
package com.mogo.och.bus.passenger.view;
import android.graphics.Canvas;
import android.graphics.Path;
import android.graphics.RectF;
import android.graphics.Region;
import android.os.Build;
import android.view.ViewTreeObserver;
import androidx.recyclerview.widget.RecyclerView;
/**
* 为RecyclerView设置圆角
*/
public class RecyclerViewCornerRadius extends RecyclerView.ItemDecoration {
public static final String TAG = "RecyclerViewCornerRadius";
private RectF rectF;
private Path path;
private int topLeftRadius = 0;
private int topRightRadius = 0;
private int bottomLeftRadius = 0;
private int bottomRightRadius = 0;
public RecyclerViewCornerRadius(final RecyclerView recyclerView) {
recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
rectF = new RectF(0, 0, recyclerView.getMeasuredWidth(), recyclerView.getMeasuredHeight());
path = new Path();
path.reset();
path.addRoundRect(rectF, new float[]{
topLeftRadius, topLeftRadius,
topRightRadius, topRightRadius,
bottomLeftRadius, bottomLeftRadius,
bottomRightRadius, bottomRightRadius
}, Path.Direction.CCW);
recyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
}
public void setCornerRadius(int radius) {
this.topLeftRadius = radius;
this.topRightRadius = radius;
this.bottomLeftRadius = radius;
this.bottomRightRadius = radius;
}
public void setCornerRadius(int topLeftRadius, int topRightRadius, int bottomLeftRadius, int bottomRightRadius) {
this.topLeftRadius = topLeftRadius;
this.topRightRadius = topRightRadius;
this.bottomLeftRadius = bottomLeftRadius;
this.bottomRightRadius = bottomRightRadius;
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
c.clipRect(rectF);
if (Build.VERSION.SDK_INT >= 28) {
c.clipPath(path);
} else {
c.clipPath(path, Region.Op.REPLACE);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="@color/bus_p_m1_80288dfc" android:centerColor="@color/bus_p_m1_3060ABFE" android:endColor="@color/bus_p_m1_0060ABFE"/>
</shape>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:centerColor="@color/bus_p_m1_91EFF6FF"
android:endColor="@color/bus_p_m1_00EFF6FF"
android:startColor="@color/bus_p_m1_00EFF6FF" />
<corners android:bottomRightRadius="@dimen/dp_26"/>
</shape>

View File

@@ -12,7 +12,7 @@
android:layout_height="@dimen/dp_172"
android:layout_marginTop="@dimen/dp_63"
android:layout_marginStart="@dimen/dp_56"
android:src="@drawable/m1_order_early_end"
android:src="@drawable/m1_order_end_car"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

View File

@@ -18,11 +18,11 @@
app:layout_constraintWidth_percent="0.53698">
<com.mogo.och.bus.passenger.ui.view.LineSiteView
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.mogo.och.bus.passenger.ui.view.EndOrderView
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tv_line_name"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_81"
android:gravity="center_vertical|left"
android:paddingStart="46dp"
android:text="22°"
android:textColor="@color/bus_p_m1_292c39"
android:textSize="@dimen/dp_26" />

View File

@@ -49,6 +49,8 @@
android:layout_height="@dimen/dp_16"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rlv_line_list"
android:background="@drawable/m1_order_line_shape"
app:layout_constraintTop_toBottomOf="@+id/tv_line_title"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginTop="@dimen/dp_24"
@@ -108,6 +110,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_site_list"
android:paddingTop="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
@@ -154,7 +157,6 @@
<androidx.constraintlayout.widget.Group
android:id="@+id/g_side_cancle_submit_group"
android:visibility="gone"
app:constraint_referenced_ids="tv_site_submit,tv_site_cancle,iv_site_cancle_submit_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
@@ -181,6 +183,7 @@
android:layout_height="0dp"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/g_side_submit_group"
android:visibility="gone"
app:constraint_referenced_ids="tv_site_only_submit,iv_site_submit_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
@@ -188,5 +191,41 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.Group
android:id="@+id/g_lines_sites_data"
app:constraint_referenced_ids="cl_line_list,cl_side_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/iv_loading_wait_driver"
android:src="@drawable/bus_p_loading"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.372"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="@dimen/dp_71"
android:layout_height="@dimen/dp_73"/>
<TextView
android:id="@+id/tv_loading_wait_driver_title"
app:layout_constraintStart_toStartOf="@+id/iv_loading_wait_driver"
app:layout_constraintEnd_toEndOf="@+id/iv_loading_wait_driver"
app:layout_constraintTop_toBottomOf="@+id/iv_loading_wait_driver"
android:layout_marginTop="63dp"
android:text="等待司机确认信息,请稍候…"
android:textSize="@dimen/dp_30"
android:textColor="@color/bus_p_m1_4a5375"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/g_loading_group"
android:visibility="gone"
app:constraint_referenced_ids="iv_loading_wait_driver,tv_loading_wait_driver_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_81"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_site_checked"
android:layout_width="@dimen/dp_42"
android:layout_height="@dimen/dp_42"
android:layout_marginStart="@dimen/dp_74"
android:src="@drawable/m1_order_site_checked" />
<TextView
android:id="@+id/tv_site_site_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_25"
android:text="路线名称A"
android:textColor="@color/bus_p_m1_2C2D31"
android:textSize="@dimen/dp_26" />
</LinearLayout>

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<ImageView
android:id="@+id/iv_early_end"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/bus_p_loading"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="@dimen/dp_83"
android:layout_width="@dimen/dp_252"
android:layout_height="@dimen/dp_172"/>
<TextView
android:text="等待司机确认信息,请稍候…"
android:textSize="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_65"
android:gravity="center"
android:textColor="@color/bus_p_m1_4a5375"
app:layout_constraintTop_toBottomOf="@+id/iv_early_end"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -21,7 +21,15 @@
<color name="bus_p_m1_3b4056">#3B4056</color>
<color name="bus_p_m1_23293b">#23293B</color>
<color name="bus_p_m1_485173">#485173</color>
<color name="bus_p_m1_292c39">#292C39</color>
<color name="bus_p_m1_2C2D31">#2C2D31</color>
<color name="bus_p_m1_662C2D31">#662C2D31</color>
<color name="bus_p_m1_80288dfc">#80288DFC</color>
<color name="bus_p_m1_3060ABFE">#3060ABFE</color>
<color name="bus_p_m1_0060ABFE">#0060ABFE</color>
<color name="bus_p_m1_00EFF6FF">#00EFF6FF</color>
<color name="bus_p_m1_91EFF6FF">#91EFF6FF</color>
<color name="bus_p_m1_CCFFFFFF">#CCFFFFFF</color>
<color name="bus_p_m1_80ffffff">#80FFFFFF</color>
</resources>