From 611c19549e9d678ed2744c5aea8d6112b3583d23 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Sat, 29 Jun 2024 18:22:02 +0800 Subject: [PATCH] =?UTF-8?q?[6.5.0]=E8=9E=8D=E5=90=88=E7=BA=A2=E7=BB=BF?= =?UTF-8?q?=E7=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/widget/FusionTrafficLightView.kt | 64 +++++++++++++++++- .../hmi/ui/widget/ProportionChartView.java | 10 +++ .../bg_fusion_traffic_light.png | Bin 0 -> 27892 bytes .../src/main/res/values/attr.xml | 7 ++ 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_fusion_traffic_light.png diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt index bb913983ad..08dc7f67c6 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt @@ -13,6 +13,7 @@ import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListen import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import kotlinx.android.synthetic.main.hmi_view_fusion_traffic_light.view.fusionTrafficLightBg import kotlinx.android.synthetic.main.hmi_view_fusion_traffic_light.view.fusionTrafficLightNum import kotlinx.android.synthetic.main.hmi_view_fusion_traffic_light.view.fusionTrafficLightPointer import kotlinx.android.synthetic.main.hmi_view_fusion_traffic_light.view.fusionTrafficLightProportion @@ -33,12 +34,29 @@ class FusionTrafficLightView @JvmOverloads constructor( private const val TAG = "FusionTrafficLightView" } + private var user = 0 //使用方,driver:0 passenger:1 private var mCurrentLightId = TrafficLightEnum.BLACK + private var totalDuration = 0 //一轮灯态的总时长 + private var maxGreenDuration = 0 //绿灯最长时间 + private var maxYellowDuration = 0 //黄灯最长时间 + private var maxRedDuration = 0 //红灯最长时间 + + + init { + val typedArray = context.obtainStyledAttributes(attrs, R.styleable.FusionTrafficLightView) + user = typedArray.getInt(R.styleable.FusionTrafficLightView_fusionLightUser,0) + typedArray.recycle() + } override fun onAttachedToWindow() { super.onAttachedToWindow() LayoutInflater.from(context).inflate(R.layout.hmi_view_fusion_traffic_light, this, true) CallerTrafficLightListenerManager.addListener(TAG, this) + if(user == 0){ + fusionTrafficLightBg.setBackgroundResource(R.drawable.bg_fusion_traffic_light) + }else{ + fusionTrafficLightBg.setBackgroundResource(R.drawable.bg_fusion_traffic_light_p) + } } override fun onDetachedFromWindow() { @@ -85,37 +103,51 @@ class FusionTrafficLightView @JvmOverloads constructor( when (currentState) { TrafficLightEnum.GREEN -> { proportionList.add(0,currentDuration) + maxGreenDuration = currentDuration } TrafficLightEnum.YELLOW -> { proportionList.add(1,currentDuration) + maxYellowDuration = currentDuration } else -> { proportionList.add(2,currentDuration) + maxRedDuration = currentDuration } } when(nextState){ TrafficLightEnum.GREEN -> { proportionList.add(0,nextDuration) + maxGreenDuration = nextDuration } TrafficLightEnum.YELLOW -> { proportionList.add(1,nextDuration) + maxYellowDuration = nextDuration } else -> { proportionList.add(2,nextDuration) + maxRedDuration = nextDuration } } when(nextTwoState){ TrafficLightEnum.GREEN -> { proportionList.add(0,nextTwoDuration) + maxGreenDuration = nextTwoDuration } TrafficLightEnum.YELLOW -> { proportionList.add(1,nextTwoDuration) + maxYellowDuration = nextTwoDuration } else -> { proportionList.add(2,nextTwoDuration) + maxRedDuration = nextTwoDuration } } fusionTrafficLightProportion.updateProportion(proportionList) + totalDuration = maxGreenDuration + maxYellowDuration + maxRedDuration + Log.i("xuxinchao","totalDuration="+totalDuration) + Log.i("xuxinchao","maxGreenDuration="+maxGreenDuration) + Log.i("xuxinchao","maxYellowDuration="+maxYellowDuration) + Log.i("xuxinchao","maxRedDuration="+maxRedDuration) } //根据当前灯态设置转盘、刻度、指针背景 when(currentState){ @@ -141,7 +173,37 @@ class FusionTrafficLightView @JvmOverloads constructor( }else{ fusionTrafficLightNum.text = "0" } - //TODO 更新指针指向 + //当时间为1开头时时间视觉上看不是左右居中对齐,需要做便宜操作 + if(currentDuration.toString().startsWith("1")){ + val numLayoutParams = fusionTrafficLightNum.layoutParams as LayoutParams + numLayoutParams.rightMargin = 10 + fusionTrafficLightNum.layoutParams = numLayoutParams + }else{ + val numLayoutParams = fusionTrafficLightNum.layoutParams as LayoutParams + numLayoutParams.rightMargin = 0 + fusionTrafficLightNum.layoutParams = numLayoutParams + } + + //更新指针指向 + val pointerLayoutParams = fusionTrafficLightPointer.layoutParams as LayoutParams + var currentAngle = 0f + currentAngle = when (currentState) { + TrafficLightEnum.GREEN -> { + 360f*(maxGreenDuration-currentDuration)/totalDuration + } + + TrafficLightEnum.YELLOW -> { + 360f*(maxGreenDuration+maxYellowDuration-currentDuration)/totalDuration + } + + else -> { + 360f*(maxGreenDuration+maxYellowDuration+maxRedDuration-currentDuration)/totalDuration + } + } + pointerLayoutParams.circleAngle = currentAngle + fusionTrafficLightPointer.rotation = currentAngle + fusionTrafficLightPointer.layoutParams = pointerLayoutParams + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ProportionChartView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ProportionChartView.java index a9b80cd1f6..56c67650ad 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ProportionChartView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ProportionChartView.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; +import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.SweepGradient; @@ -155,14 +156,23 @@ public class ProportionChartView extends View { //设置绿灯渐变色 sweepGradient = new SweepGradient(getWidth()/2f,(getPaddingTop() + getHeight() - getPaddingBottom())/2f, greenColorArray,null); + Matrix rotateMatrix = new Matrix(); + rotateMatrix.setRotate(270,getWidth()/2f,(getPaddingTop() + getHeight() - getPaddingBottom())/2f); + sweepGradient.setLocalMatrix(rotateMatrix); }else if(i == 1){ //设置黄灯渐变色 sweepGradient = new SweepGradient(getWidth()/2f,(getPaddingTop() + getHeight() - getPaddingBottom())/2f, yellowColorArray,null); + Matrix rotateMatrix = new Matrix(); + rotateMatrix.setRotate(270+(360*proportionList.get(0)),getWidth()/2f,(getPaddingTop() + getHeight() - getPaddingBottom())/2f); + sweepGradient.setLocalMatrix(rotateMatrix); }else{ //设置红灯渐变色 sweepGradient = new SweepGradient(getWidth()/2f,(getPaddingTop() + getHeight() - getPaddingBottom())/2f, redColorArray,null); + Matrix rotateMatrix = new Matrix(); + rotateMatrix.setRotate(270+(360*proportionList.get(0)+proportionList.get(1)),getWidth()/2f,(getPaddingTop() + getHeight() - getPaddingBottom())/2f); + sweepGradient.setLocalMatrix(rotateMatrix); } mRingPaint.setShader(sweepGradient); //画圆环 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_fusion_traffic_light.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_fusion_traffic_light.png new file mode 100644 index 0000000000000000000000000000000000000000..5df329c37812d6e66419f3e93377990469b12ab8 GIT binary patch literal 27892 zcmV(>K-j;DP)Pyg07*naRCodGy$8HqM|Cf}PP@HdUG-{7wp?V(wrp8)FBlgv)zkzMUMQx7yaXNz z?-4#oe~$!0$Rm&!AU^^j7_f1}-NwD!a*<{AUT*L0+;h&i{Z%(Tk5X=JE;qJjESp`G&CuLTCexJ3X6wh&nVNKF ztRk1mCNo)z<#O2=r^T|loRTFTi%~L>$Wc6zOT;M`Pb9`t$@p+tBGDgDCVG;Z_9e2E9m&yHZS6dPyf

(;YaAomu>YEaD(!z3D+Ehl1DiSn57NYIXA1RepgLx z)%RO!>Hpk(^UawlV0+B4@LKkm5qV;QE?l_2a^B*`Z*+C{{kNf!sEKwyzEVZDqHKU@ z*1R%0e`OV&Rhyy(BQa{}BdYCzCW|7w3J-|SAdsDF6mIsK{??nSY4h475LIe$UIT+M zFySw#>E4Vo92iW`#u4gzVVFi+$J`ty6vhO8F3w>*jO3g^ybUIs5EuTVmze?{;DOT8u?dJqGybxM3*Rve7&{NZGXEP`qDWp32Of)p#q7rEYrk(VN?fr#yBrk2?cdciFWI)5F>CcXsx^ zHJ!=u)VFkZ>KRpZ&5|m*ppz%kT|93H%nf|=hkQMNQFP-&3>_|({uh5#P1{x{WEjOQ zrRX>Y#fP$ssmfL2?vRVaX0F4y_|Hd=1%QqR2ILl=+oeByv(6rgdH z-0+Bk&zKiYlBsL4iGB_^%(B3gR zd~YAM-aSAghfABcV7tr0d9!}f-@WH!&p-eC1o|W+-OTabI-faGl_<#t7he0}uHM0a z=^q@bDTTDWI!;%wt)hE{r8G*@I}=*2*IlCE{rC^fngGhA{>RThja!z~yGJ8dv-TB-Dz z-W=`!MGyaaX{=8#RfAz+mzy`Y`IY9H+8ge=>!-U5qt4t^RfjWIylBZ-Ib!Euc+Eez zcJ_Xfw~iM*�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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml index 97d42d7bee..75121362da 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml @@ -122,4 +122,11 @@ + + + + + + + \ No newline at end of file