Merge branch 'dev_robosweeper-d_app-module_221230_1.1.0' of gitlab.zhidaoauto.com:zhjt/AndroidApp/MoGoEagleEye into dev_robosweeper-d_app-module_221230_1.1.0

This commit is contained in:
aibingbing
2023-03-11 17:58:01 +08:00
12 changed files with 179 additions and 88 deletions

View File

@@ -11,4 +11,5 @@ interface ISweeperTaskDataToFragmentCallback {
fun clearAllMarkerAndPolyline()
fun setProgress(progress:String)
fun setTaskListCoordinatesLatLng(coordinatesLatLng: ArrayList<LatLng>)
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng)
}

View File

@@ -92,6 +92,8 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
private DriverMsgBoxBubbleView mViewDriverMsgBoxBubble;
private ArrayList<WeltDataBean> mWeltDataBeanList;//存储贴边数据
private ArrayList<LatLng> mSubTaskCoordinates;//存储当前大任务的所有子任务起点和终点
// 当前子任务的终点坐标
protected LatLng mCurrentTaskEndStation;
private ArrayList<SweeperRoutePlanningUpdateReqBean.Result> mRouteList;//存储任务的坐标轨迹
private String mProgress;
private ISweeperTaskDataToFragmentCallback mTaskDataToFragmentCallback;
@@ -415,8 +417,14 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
if (isShow) {
mFlWeltMapOverView.setVisibility(View.VISIBLE);
if (mWeltMapOverViewFragment == null) {
mWeltMapOverViewFragment = mWeltMapOverViewFragment.newInstance((IWeltMapSwitchToSmallCallback) this, mWeltDataBeanList,
mSubTaskCoordinates, mRouteList, mProgress, (SweeperFragment) this);
mWeltMapOverViewFragment = mWeltMapOverViewFragment.newInstance(
(IWeltMapSwitchToSmallCallback) this,
mCurrentTaskEndStation,
mWeltDataBeanList,
mSubTaskCoordinates,
mRouteList,
mProgress,
(SweeperFragment) this);
}
if (mWeltMapOverViewFragment.isHidden()) {
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
@@ -476,6 +484,15 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
}
}
public void setCurrentTaskEndMarker(LatLng subTaskCoordinate) {
if (mMapWeltView != null) {
mMapWeltView.setCurrentTaskCoordinatesLatLng(subTaskCoordinate);
}
if (mTaskDataToFragmentCallback != null) {
mTaskDataToFragmentCallback.setCurrentTaskCoordinatesLatLng(subTaskCoordinate);
}
}
/**
* 清除marker标记和任务路线数据
*/

View File

@@ -52,7 +52,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
private var mLocation: MogoLocation? = null
private var mSubInfo: SubInfo? = null
//当前经纬度
override fun getTagName(): String {
return "SweepersFragment"
}
@@ -312,7 +311,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
}
}
setEndStationMarker()
}
/**
@@ -354,13 +353,14 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
for (index in it.indices) {
sum += it[index].mileage
}
var current: Double = 0.0
var completed: Double = 0.0
for (index in it.indices) {
if (index <= mCurrentSubPosition) {
current += it[index].mileage
if (index < mCurrentSubPosition) {
// 已完成的子任务记入完成度,进行中的不计入
completed += it[index].mileage
}
}
val progress = "${((current / sum) * 100.0).roundToInt()}%"
val progress = "${((completed / sum) * 100.0).roundToInt()}%"
setTaskProgress(progress)
}
@@ -430,7 +430,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
}
/**
* 是否一个子任务
* 是否最后一个子任务
*/
fun isLastSubTask(): Boolean {
return mCurrentSubPosition == (mSubMutableList?.size?.minus(1))
@@ -476,10 +476,27 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
dataList.add(index+1,endLatLng)
}
setTaskListCoordinatesLatLng(dataList)
setEndStationMarker()
}
}
}
private fun setEndStationMarker(){
lifecycleScope.launch(Dispatchers.IO) {
mSubInfo?.let {
val endPoint = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(
AbsMogoApplication.getApp(),
it.endWgs84Lon,
it.endWgs84Lat
)
super.mCurrentTaskEndStation = endPoint
setCurrentTaskEndMarker(endPoint)
}
}
}
//模拟结束子任务
override fun debugEndSubTask() {
//mPresenter?.onArriveTaskEnd(null)

View File

@@ -41,12 +41,16 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
val bundle = arguments
if (bundle != null) {
val latLngs = bundle.getSerializable("subTaskCoordinates") as? ArrayList<LatLng>
val latLng = bundle.getParcelable<LatLng>("subTaskEndCoordinates")
val weltDataList = bundle.getSerializable("weltDataList") as? ArrayList<WeltDataBean>
val routeList = bundle.getSerializable("routeList") as? ArrayList<SweeperRoutePlanningUpdateReqBean.Result>
val progress = bundle.getString("progress")
routeList?.let {
weltMapOverView.setRouteList(it)
}
latLng?.let {
setCurrentTaskCoordinatesLatLng(it)
}
latLngs?.let {
setTaskListCoordinatesLatLng(it)
}
@@ -64,6 +68,7 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
@JvmStatic
fun newInstance(
mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback,
mCurrentTaskEndStation:LatLng?,
weltDataList: ArrayList<WeltDataBean>?,
latLngs: ArrayList<LatLng>?,
routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>?,
@@ -73,6 +78,7 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
val args = Bundle()
args.putSerializable("weltDataList", weltDataList)
args.putSerializable("subTaskCoordinates", latLngs)
args.putParcelable("subTaskEndCoordinates", mCurrentTaskEndStation)
args.putSerializable("routeList", routeList)
args.putString("progress", progress)
val fragment = WeltMapOverViewFragment()
@@ -101,6 +107,10 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
weltMapOverView.setTaskListCoordinatesLatLng(coordinatesLatLng)
}
override fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
weltMapOverView.setCurrentTaskCoordinatesLatLng(coordinatesLatLng)
}
override fun clearAllMarkerAndPolyline() {
weltMapOverView.clearAllMarkerAndPolyline()
}

View File

@@ -750,7 +750,8 @@ public class SweeperTaskModel {
SweeperServiceManager.subTaskEnd(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback<BaseResponse<Boolean>>() {
@Override
public void onSuccess(BaseResponse<Boolean> data) {
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskEnd" + GsonUtil.jsonFromObject(data));
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskEnd" +
String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd) + GsonUtil.jsonFromObject(data));
if (data != null) {
if (data.getData()) {
mIsSubTaskWorking = false;
@@ -800,7 +801,8 @@ public class SweeperTaskModel {
SweeperServiceManager.subTaskSkip(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback<BaseResponse<Boolean>>() {
@Override
public void onSuccess(BaseResponse<Boolean> data) {
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskSkip" + GsonUtil.jsonFromObject(data));
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskSkip" +
String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd)+ GsonUtil.jsonFromObject(data));
if (mSweeperTaskCallback != null && data != null) {
if (data.getData()) {
mIsSubTaskWorking = false;

View File

@@ -350,7 +350,7 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity());
weltDataBean.setSubTaskId(mSubTaskId);
MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean);
String distance = format(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100);
String distance = String.valueOf((Math.round(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100)));//m->cm 四舍五入到整数
mView.setWeltDataToMap((ArrayList<WeltDataBean>) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(), true, distance);
}
}

View File

@@ -8,6 +8,7 @@ import android.view.LayoutInflater
import android.view.View
import android.widget.ImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import com.amap.api.maps.AMap
import com.amap.api.maps.CameraUpdateFactory
import com.amap.api.maps.model.*
@@ -33,7 +34,8 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
private var mAMap: AMap? = null
private var mWeltPolylines: Polyline? = null
private var mRoutePolylines: Polyline?=null
private val mLineMarkers: MutableList<Marker?> = mutableListOf()
// private val mLineMarkers: MutableList<Marker?> = mutableListOf()
private var mEndStationMarker: Marker? = null
private var mFirst: Boolean = false
//清扫车任务地图
@@ -122,17 +124,17 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
}
}
if (weltDataBean.weltDistance == -9999.0) {//未经过
colorList.add(Color.parseColor("#3BA1CC"))
colorList.add(ContextCompat.getColor(context,R.color.sweeper_3ba1cc))
} else if (weltDataBean.weltDistance == -10000.0) {//非贴边
colorList.add(Color.parseColor("#236299"))
colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299))
} else if (weltDataBean.weltDistance < 0) {
colorList.add(Color.parseColor("#C22101"))
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 10) {
colorList.add(Color.parseColor("#4DFFA4"))
} else if (weltDataBean.weltDistance >= 10 && weltDataBean.weltDistance < 20) {
colorList.add(Color.parseColor("#FFDD4D"))
} else if (weltDataBean.weltDistance >= 20) {
colorList.add(Color.parseColor("#FF912B"))
colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101))
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 0.01) {
colorList.add(ContextCompat.getColor(context,R.color.sweeper_4dffa4))
} else if (weltDataBean.weltDistance >= 0.010 && weltDataBean.weltDistance < 0.020) {
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ffdd4d))
} else if (weltDataBean.weltDistance >= 0.020) {
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ff912b))
}
}
return colorList
@@ -191,25 +193,32 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
* 绘制起点和终点的marker
*/
private fun drawStartAndEndMarker(startPoint: LatLng, endPoint: LatLng) {
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_start_maker_icon)))
startMarker?.position = startPoint
mLineMarkers.add(startMarker)
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
endMarker?.position = endPoint
mLineMarkers.add(endMarker)
// val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_start_maker_icon)))
// startMarker?.position = startPoint
// mLineMarkers.add(startMarker)
// val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
// endMarker?.position = endPoint
// mLineMarkers.add(endMarker)
}
private fun drawEndMarker(endPoint: LatLng){
mEndStationMarker?.remove()
mEndStationMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
mEndStationMarker?.position = endPoint
}
/**
* 清除所有标记和路线
*/
fun clearAllMarkerAndPolyline() {
for (i in mLineMarkers.indices) {
mLineMarkers[i]?.isVisible = false
mLineMarkers[i]?.remove()
}
// for (i in mLineMarkers.indices) {
// mLineMarkers[i]?.isVisible = false
// mLineMarkers[i]?.remove()
// }
mEndStationMarker?.remove()
mWeltPolylines?.remove()
mRoutePolylines?.remove()
mLineMarkers.clear()
// mLineMarkers.clear()
//mFirst = false
//showOrHiddenLegendData(false)
}
@@ -264,6 +273,14 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
}
}
}
/**
* 设置当前大任务的所有子任务起终点集合
*/
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
ThreadUtils.runOnUiThread {
drawEndMarker(coordinatesLatLng)
}
}
/**
* 设置图例数据

View File

@@ -8,6 +8,7 @@ import android.view.LayoutInflater
import android.view.View
import android.widget.ImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import com.amap.api.maps.AMap
import com.amap.api.maps.CameraUpdateFactory
import com.amap.api.maps.model.*
@@ -34,7 +35,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
private var mAMap: AMap? = null
private var mWeltPolylines: Polyline? = null
private var mRoutePolylines: Polyline?=null
private val mLineMarkers: MutableList<Marker?> = mutableListOf()
// private val mLineMarkers: MutableList<Marker?> = mutableListOf()
private var endStationMarker:Marker? = null
//清扫车任务地图
private val TAG = "WeltMapView"
@@ -145,7 +147,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
mWeltPolylines?.remove()
val polylineOptions = PolylineOptions()
polylineOptions.addAll(coordinatesLatLngs)
polylineOptions.width(30f) //线段宽度
polylineOptions.width(14f) //线段宽度
polylineOptions.isUseTexture = false
polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapSquare)
polylineOptions.colorValues(colorList)
@@ -178,17 +180,17 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
}
if (weltDataBean.weltDistance == -9999.0) {//未经过
colorList.add(Color.parseColor("#3BA1CC"))
colorList.add(ContextCompat.getColor(context,R.color.sweeper_3ba1cc))
} else if (weltDataBean.weltDistance == -10000.0) {//非贴边
colorList.add(Color.parseColor("#236299"))
colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299))
} else if (weltDataBean.weltDistance < 0) {
colorList.add(Color.parseColor("#C22101"))
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 10) {
colorList.add(Color.parseColor("#4DFFA4"))
} else if (weltDataBean.weltDistance >= 10 && weltDataBean.weltDistance < 20) {
colorList.add(Color.parseColor("#FFDD4D"))
} else if (weltDataBean.weltDistance >= 20) {
colorList.add(Color.parseColor("#FF912B"))
colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101))
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 0.010) {
colorList.add(ContextCompat.getColor(context,R.color.sweeper_4dffa4))
} else if (weltDataBean.weltDistance >= 0.010 && weltDataBean.weltDistance < 0.020) {
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ffdd4d))
} else if (weltDataBean.weltDistance >= 0.020) {
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ff912b))
}
}
return colorList
@@ -198,17 +200,17 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
* 添加起点和终点的marker
*/
private fun addStartAndEndMarker(startPoint: LatLng, endPoint: LatLng) {
for (i in mLineMarkers.indices) {
mLineMarkers[i]?.isVisible = false
mLineMarkers[i]?.remove()
}
mLineMarkers.clear()
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_start_marker_icon)))
startMarker?.position = startPoint
mLineMarkers.add(startMarker)
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
endMarker?.position = endPoint
mLineMarkers.add(endMarker)
// for (i in mLineMarkers.indices) {
// mLineMarkers[i]?.isVisible = false
// mLineMarkers[i]?.remove()
// }
// mLineMarkers.clear()
// val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_start_marker_icon)))
// startMarker?.position = startPoint
// mLineMarkers.add(startMarker)
// val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
// endMarker?.position = endPoint
// mLineMarkers.add(endMarker)
}
/**
@@ -216,25 +218,35 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
*/
fun setTaskListCoordinatesLatLng(coordinatesLatLng: MutableList<LatLng>) {
this.mTaskCoordinatesLatLng = coordinatesLatLng
if (mTaskCoordinatesLatLng.size > 0) {
d(
SceneConstant.M_SWEEPER + TAG,
"startPoint${mTaskCoordinatesLatLng[0]} endPoint${mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1]}"
)
addStartAndEndMarker(mTaskCoordinatesLatLng[0], mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1])
}
// if (mTaskCoordinatesLatLng.size > 0) {
// d(
// SceneConstant.M_SWEEPER + TAG,
// "startPoint${mTaskCoordinatesLatLng[0]} endPoint${mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1]}"
// )
// addStartAndEndMarker(mTaskCoordinatesLatLng[0], mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1])
// }
}
/**
* 设置当前大任务的所有子任务起终点集合
*/
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
endStationMarker?.remove()
endStationMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
endStationMarker?.position = coordinatesLatLng
}
/**
* 清除所有标记和路线
*/
fun clearAllMarkerAndPolyline() {
for (i in mLineMarkers.indices) {
mLineMarkers[i]?.isVisible = false
mLineMarkers[i]?.remove()
}
// for (i in mLineMarkers.indices) {
// mLineMarkers[i]?.isVisible = false
// mLineMarkers[i]?.remove()
// }
endStationMarker?.remove()
mWeltPolylines?.remove()
mLineMarkers.clear()
// mLineMarkers.clear()
mRoutePolylines?.remove()
//mFirst = false
//showOrHiddenWelt(false)

View File

@@ -32,14 +32,15 @@
android:text="跳过"
android:textColor="#A6CEFF"
android:textSize="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_16"/>
android:padding="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_6"/>
<View
android:id="@+id/taskJumpLineView"
android:layout_width="0dp"
android:layout_height="2dp"
app:layout_constraintStart_toEndOf="@+id/ivTriangle"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_10"
android:background="#4DA6CEFF"
app:layout_constraintTop_toBottomOf="@+id/tvJumpOverTask"
android:layout_marginStart="@dimen/dp_16"
@@ -54,14 +55,15 @@
android:text="结束"
android:textColor="#A6CEFF"
android:textSize="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_16"/>
android:padding="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_6"/>
<View
android:id="@+id/taskFinishLineView"
android:layout_width="0dp"
android:layout_height="2dp"
app:layout_constraintStart_toEndOf="@+id/ivTriangle"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_10"
android:background="#4DA6CEFF"
app:layout_constraintTop_toBottomOf="@+id/tvEndTask"
android:layout_marginStart="@dimen/dp_16"
@@ -76,10 +78,11 @@
android:text="取消"
android:textColor="#A6CEFF"
android:textSize="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_16"/>
android:padding="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_6"/>
<Space
android:layout_width="0dp"
android:layout_height="@dimen/dp_16"
android:layout_height="@dimen/dp_6"
app:layout_constraintStart_toEndOf="@+id/ivTriangle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvCancelTask"/>

View File

@@ -10,13 +10,14 @@
android:layout_height="match_parent"/>
<ImageView
android:id="@+id/sweeperSwitchToSmall"
android:layout_width="@dimen/dp_73"
android:layout_height="@dimen/dp_73"
android:layout_width="@dimen/dp_127"
android:layout_height="@dimen/dp_127"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:src="@drawable/sweeper_full_screen_icon"
android:layout_marginEnd="@dimen/dp_50"
android:layout_marginTop="@dimen/dp_50"/>
android:layout_marginEnd="@dimen/dp_23"
android:layout_marginTop="@dimen/dp_23"
android:padding="@dimen/dp_27"/>
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout
android:id="@+id/groupLegend"
android:layout_width="@dimen/dp_380"
@@ -36,7 +37,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="#3f69d9"
android:textColor="@color/white"
android:textColor="@android:color/white"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:paddingLeft="6dp"
@@ -50,11 +51,11 @@
android:id="@+id/taskWeltDistanceTv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="贴边:0.0cm"
android:text="贴边:--cm"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:background="#3d98c7"
android:textColor="@color/white"
android:textColor="@android:color/white"
app:layout_constraintStart_toEndOf="@+id/taskProgressTv"
android:paddingTop="4dp"
android:paddingBottom="4dp"

View File

@@ -14,14 +14,13 @@
app:layout_constraintEnd_toEndOf="parent"/>
<ImageView
android:id="@+id/sweeperSwitchToBig"
android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_60"
android:layout_width="@dimen/dp_100"
android:layout_height="@dimen/dp_100"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/sweeper_full_screen_icon"
android:layout_marginEnd="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:padding="@dimen/dp_10"/>
android:padding="@dimen/dp_30"/>
<TextView
android:id="@+id/taskProgressTv"
android:layout_width="wrap_content"
@@ -30,7 +29,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="#3f69d9"
android:textColor="@color/white"
android:textColor="@android:color/white"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:paddingLeft="6dp"
@@ -41,10 +40,10 @@
android:id="@+id/taskWeltDistanceTv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="贴边:0.0cm"
android:text="贴边:--cm"
app:layout_constraintTop_toTopOf="parent"
android:background="#3d98c7"
android:textColor="@color/white"
android:textColor="@android:color/white"
app:layout_constraintStart_toEndOf="@+id/taskProgressTv"
android:paddingTop="4dp"
android:paddingBottom="4dp"

View File

@@ -50,4 +50,16 @@
<color name="sweeper_operate_panel_btn2_bg_disabled">#3769B5</color>
<color name="sweeper_operate_panel_btn2_bg_stroke">#BF30334C</color>
<!-- <0 //未经过-->
<color name="sweeper_c22101">#C22101</color>
<!-- [0,10) //未经过-->
<color name="sweeper_4dffa4">#4DFFA4</color>
<!-- [10,20) //未经过-->
<color name="sweeper_ffdd4d">#FFDD4D</color>
<!-- [20,) //未经过-->
<color name="sweeper_ff912b">#FF912B</color>
<!-- -9999.0 //未经过-->
<color name="sweeper_3ba1cc">#3BA1CC</color>
<!-- -10000.0 //非贴边-->
<color name="sweeper_236299">#236299</color>
</resources>