Skip to content

Conversation

@agronick
Copy link

@agronick agronick commented Jan 7, 2024

One of my users had commented that they didn't like that the ray speedometer drew from the beginning of the gauge instead of at 0. This looked strange especially when it was an arbitrary negative number. I added an option to set a start value. I left the current functionality but you can now set app:sv_rayStartSpeed="0" to draw from 0 and it will draw backwards if the value is less than 0.

You can see how it looks when starting from 0 instead of the minimum value.
Ray start - Made with Clipchamp

withEffects = a.getBoolean(R.styleable.RaySpeedometer_sv_withEffects, withEffects)
rayStartSpeed =
a.getFloat(R.styleable.RaySpeedometer_sv_rayStartSpeed, Float.NEGATIVE_INFINITY).let {
if (it == Float.NEGATIVE_INFINITY) null else it
Copy link
Author

@agronick agronick Jan 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is kind of hacky but I couldn't find a good way in the attributes API to allow null values.

}

for (i in getStartDegree()..getEndDegree() step degreeBetweenMark) {
val drawWith = if (!rangeCheck.contains(i)) {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part I tried to clean up. These lines seemed to be present in both parts of the conditional

canvas.drawPath(markPath, rayMarkPaint)
canvas.rotate(degreeBetweenMark.toFloat(), size * .5f, size * .5f)
i += degreeBetweenMark

The only thing that really looked to be changing was the paint.

private var withEffects = true

private var degreeBetweenMark = 5
var rayStartSpeed: Float? = null
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The value the ray will be drawn from. This allows the ray to be drawn backwards. null preserves current functionality and draws from startSpeed.

@agronick
Copy link
Author

agronick commented Jan 7, 2025

@anastr have you had a chance to look at this? It has been a year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant