[V2X][Road]红色渐变逻辑优化

This commit is contained in:
renwj
2022-09-28 18:05:58 +08:00
parent 9285c5fac7
commit 88274d629b

View File

@@ -1,8 +1,10 @@
package com.mogo.eagle.core.function.v2x.events.scenario.scene.airoad
import android.animation.*
import android.content.*
import android.graphics.*
import android.util.*
import android.view.animation.*
import androidx.lifecycle.*
import androidx.lifecycle.Lifecycle.Event
import androidx.lifecycle.Lifecycle.Event.ON_CREATE
@@ -21,6 +23,7 @@ import io.netty.util.internal.*
import java.util.*
import java.util.concurrent.*
import java.util.concurrent.atomic.*
import kotlin.collections.ArrayList
/**
* Ai云道路施工事件道路颜色标记类
@@ -41,7 +44,8 @@ object AiRoadMarker {
private val line by lazy { AtomicReference<IMogoPolyline>() }
private val colors = arrayListOf(Color.parseColor("#002ABAD9"), Color.parseColor("#FF7A30"))
private val START_COLOR = Color.parseColor("#002ABAD9")
private val END_COLOR = Color.parseColor("#FFFF7A30")
private val markers = ConcurrentSet<Marker>()
@@ -51,7 +55,6 @@ object AiRoadMarker {
setGps(true)
width(50f)
useGradient(true)
colorValues(colors)
}
}
@@ -236,8 +239,16 @@ object AiRoadMarker {
return
}
removeLine()
val evaluator = ArgbEvaluator()
val interceptor = DecelerateInterpolator(1.5f)
val total = points.size
val colors = ArrayList<Int>()
(0..total).forEach { i ->
colors += evaluator.evaluate(interceptor.getInterpolation(i * 1f / total), START_COLOR, END_COLOR) as Int
}
var line = line.get()
options.points(points)
options.colorValues(colors)
Logger.d(TAG, "--- marker --- 7 --- points: ${points.size}")
if (line == null || line.isDestroyed) {
val l = overlayManager.addPolyline(options)