X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2FHueRing.java;h=0a759a0a6739c0c459e8564a4c2f1905f88e04c9;hp=2de15fe2f4b01efb2d7c17f6e542976f7a9de57a;hb=899d71e1f4cff043592de4283813b96be8f397a5;hpb=3dcd980245b42dd9ccc48c33d5791c749c125de6 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/HueRing.java b/app/src/main/java/net/ktnx/mobileledger/ui/HueRing.java index 2de15fe2..0a759a0a 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/HueRing.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/HueRing.java @@ -29,6 +29,7 @@ import android.view.MotionEvent; import android.view.View; import net.ktnx.mobileledger.utils.Colors; +import net.ktnx.mobileledger.utils.DimensionUtils; import androidx.annotation.Nullable; @@ -92,6 +93,8 @@ public class HueRing extends View { setInitialHue(initialHueDegrees); setHue(initialHueDegrees); + + padding = DimensionUtils.dp2px(getContext(), 4); } public int getColor() { return color; @@ -121,9 +124,10 @@ public class HueRing extends View { protected void onDraw(Canvas canvas) { super.onDraw(canvas); + float center = getWidth() / 2f; ringPaint.setStrokeWidth((int) bandWidth); - canvas.translate(centerX, centerY); + canvas.translate(center, center); canvas.drawOval(ringRect, ringPaint); canvas.drawArc(centerRect, 180, 180, true, initialPaint); @@ -141,17 +145,18 @@ public class HueRing extends View { int heightMode = View.MeasureSpec.getMode(heightMeasureSpec); int heightSize = View.MeasureSpec.getSize(heightMeasureSpec); - if (((widthMode == MeasureSpec.AT_MOST) && (heightMode == MeasureSpec.AT_MOST)) || - ((widthMode == MeasureSpec.EXACTLY) && (heightMode == MeasureSpec.EXACTLY))) - { + if ((widthMode == MeasureSpec.AT_MOST) && (heightMode == MeasureSpec.AT_MOST)) { diameter = Math.min(widthSize, heightSize); } + else { + setMeasuredDimension(MEASURED_STATE_TOO_SMALL, MEASURED_STATE_TOO_SMALL); + return; + } setMeasuredDimension(diameter, diameter); // padding = DimensionUtils.dp2px(getContext(), // getContext().getResources().getDimension(R.dimen.activity_horizontal_margin)) / 2; - padding = 0; diameter -= 2 * padding; radius = diameter / 2f; centerX = padding + (int) radius;