diff --git a/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt b/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt index a4e18fe..f87089b 100644 --- a/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt +++ b/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt @@ -1,6 +1,8 @@ package com.casic.detector.widgets import android.content.Context +import android.graphics.Bitmap +import android.graphics.BitmapFactory import android.graphics.Canvas import android.graphics.Color import android.graphics.Matrix @@ -57,6 +59,7 @@ private var degrees = 0f private lateinit var tickPaint: Paint + private lateinit var backPaint: Paint private lateinit var borderPaint: Paint private lateinit var shaderPaint: Paint private lateinit var dataPaint: Paint @@ -66,6 +69,9 @@ //雷达扫描线后面的渐变梯度 private lateinit var sweepGradient: SweepGradient + //背景栅格图 + private lateinit var bitmap: Bitmap + //雷达旋转矩阵 private lateinit var matrix: Matrix @@ -80,7 +86,7 @@ innerRadius = radius - 10.dp2px(context) //需要给外围刻度留位置 - viewSideLength = radius + 30.dp2px(context) + viewSideLength = radius + 10.dp2px(context) //辅助框 rect = Rect(-viewSideLength, -viewSideLength, viewSideLength, viewSideLength) @@ -112,6 +118,10 @@ tickPaint.strokeWidth = 2f.dp2px(context) tickPaint.isAntiAlias = true + backPaint = Paint() + backPaint.isAntiAlias = true + bitmap = BitmapFactory.decodeResource(context.resources, R.mipmap.bg_radar) + borderPaint = Paint() borderPaint.color = borderColor borderPaint.style = Paint.Style.STROKE @@ -189,6 +199,9 @@ */ canvas.translate(centerX, centerY) + //画背景 + canvas.drawBitmap(bitmap, -radius.toFloat(), -radius.toFloat(), backPaint) + // drawGuides(canvas) //每道同心圆的半径差 @@ -220,19 +233,19 @@ 90 -> { direction = "东" - innerPaint.color = Color.BLACK + innerPaint.color = Color.WHITE innerPaint.typeface = Typeface.DEFAULT } 180 -> { direction = "南" - innerPaint.color = Color.BLACK + innerPaint.color = Color.WHITE innerPaint.typeface = Typeface.DEFAULT } 270 -> { direction = "西" - innerPaint.color = Color.BLACK + innerPaint.color = Color.WHITE innerPaint.typeface = Typeface.DEFAULT } } @@ -285,7 +298,7 @@ val result = recursionAngle(it.angle) //转为弧度 val dataAngle = (result * Math.PI / 180).toFloat() - val dataDistance = recursionDistance(it.distance.dp2px(context).toFloat()) + val dataDistance = recursionDistance(it.distance.dp2px(context)) //计算实际圆心坐标 val x = dataDistance * cos(dataAngle) diff --git a/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt b/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt index a4e18fe..f87089b 100644 --- a/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt +++ b/app/src/main/java/com/casic/detector/widgets/RadarScanView.kt @@ -1,6 +1,8 @@ package com.casic.detector.widgets import android.content.Context +import android.graphics.Bitmap +import android.graphics.BitmapFactory import android.graphics.Canvas import android.graphics.Color import android.graphics.Matrix @@ -57,6 +59,7 @@ private var degrees = 0f private lateinit var tickPaint: Paint + private lateinit var backPaint: Paint private lateinit var borderPaint: Paint private lateinit var shaderPaint: Paint private lateinit var dataPaint: Paint @@ -66,6 +69,9 @@ //雷达扫描线后面的渐变梯度 private lateinit var sweepGradient: SweepGradient + //背景栅格图 + private lateinit var bitmap: Bitmap + //雷达旋转矩阵 private lateinit var matrix: Matrix @@ -80,7 +86,7 @@ innerRadius = radius - 10.dp2px(context) //需要给外围刻度留位置 - viewSideLength = radius + 30.dp2px(context) + viewSideLength = radius + 10.dp2px(context) //辅助框 rect = Rect(-viewSideLength, -viewSideLength, viewSideLength, viewSideLength) @@ -112,6 +118,10 @@ tickPaint.strokeWidth = 2f.dp2px(context) tickPaint.isAntiAlias = true + backPaint = Paint() + backPaint.isAntiAlias = true + bitmap = BitmapFactory.decodeResource(context.resources, R.mipmap.bg_radar) + borderPaint = Paint() borderPaint.color = borderColor borderPaint.style = Paint.Style.STROKE @@ -189,6 +199,9 @@ */ canvas.translate(centerX, centerY) + //画背景 + canvas.drawBitmap(bitmap, -radius.toFloat(), -radius.toFloat(), backPaint) + // drawGuides(canvas) //每道同心圆的半径差 @@ -220,19 +233,19 @@ 90 -> { direction = "东" - innerPaint.color = Color.BLACK + innerPaint.color = Color.WHITE innerPaint.typeface = Typeface.DEFAULT } 180 -> { direction = "南" - innerPaint.color = Color.BLACK + innerPaint.color = Color.WHITE innerPaint.typeface = Typeface.DEFAULT } 270 -> { direction = "西" - innerPaint.color = Color.BLACK + innerPaint.color = Color.WHITE innerPaint.typeface = Typeface.DEFAULT } } @@ -285,7 +298,7 @@ val result = recursionAngle(it.angle) //转为弧度 val dataAngle = (result * Math.PI / 180).toFloat() - val dataDistance = recursionDistance(it.distance.dp2px(context).toFloat()) + val dataDistance = recursionDistance(it.distance.dp2px(context)) //计算实际圆心坐标 val x = dataDistance * cos(dataAngle) diff --git a/app/src/main/res/layout/dialog_search_marker_new.xml b/app/src/main/res/layout/dialog_search_marker_new.xml index ee4628a..c341a72 100644 --- a/app/src/main/res/layout/dialog_search_marker_new.xml +++ b/app/src/main/res/layout/dialog_search_marker_new.xml @@ -8,43 +8,51 @@ android:gravity="center_horizontal" android:orientation="vertical"> - + android:layout_marginTop="@dimen/dp_30" + android:orientation="horizontal"> + + + + + - - @@ -68,6 +77,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_3" + android:fontFamily="@font/fzdhjt" android:text="0dB" android:textColor="@color/white" /> @@ -77,7 +87,7 @@ android:id="@+id/energyPgBar" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="@dimen/dp_20" android:layout_marginVertical="@dimen/dp_3" android:max="5150" android:progressDrawable="@drawable/bg_progress_bar" /> @@ -89,6 +99,7 @@ @@ -96,8 +107,9 @@ android:id="@+id/distancePgBar" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="@dimen/dp_20" android:layout_marginVertical="@dimen/dp_3" + android:max="100" android:progressDrawable="@drawable/bg_progress_bar" /> @@ -105,8 +117,7 @@ android:id="@+id/buttonLayout" android:layout_width="320dp" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/dp_10" - android:layout_marginBottom="@dimen/dp_30" + android:layout_marginVertical="@dimen/dp_30" android:gravity="center_horizontal">