[页面调整]
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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 |
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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" />
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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" />
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user