From a662eedd4dffb958702cf39d653e30a74fd3991b Mon Sep 17 00:00:00 2001 From: renpengfei Date: Tue, 6 Jul 2021 14:08:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9findbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shadowlayout/ShadowLayout.java | 2 +- .../shadowlayout/v2/ShadowDrawable.java | 8 +++-- .../shadowlayout/v2/ShadowLayout1.java | 36 ++++++++++--------- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java b/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java index bae0487..ac4c0f3 100644 --- a/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java +++ b/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java @@ -130,7 +130,7 @@ public class ShadowLayout extends DependentLayout implements Component.EstimateS * @param context */ public ShadowLayout(Context context) { - this(context, null); + super(context, null); } /** diff --git a/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowDrawable.java b/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowDrawable.java index 42ccd47..9a00d1c 100644 --- a/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowDrawable.java +++ b/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowDrawable.java @@ -1,5 +1,6 @@ package com.lijiankun24.shadowlayout.v2; +import com.lijiankun24.shadowlayout.NumberUtil; import ohos.agp.colors.RgbColor; import ohos.agp.components.Component; import ohos.agp.components.element.ShapeElement; @@ -119,8 +120,11 @@ public class ShadowDrawable extends ShapeElement implements Component.DrawTask, HiLog.info(hiLogLabel, "ShadowDrawable1 setBounds top " + top); HiLog.info(hiLogLabel, "ShadowDrawable1 setBounds right " + right); HiLog.info(hiLogLabel, "ShadowDrawable1 setBounds bottom " + bottom); - mRect = new RectFloat(left + mShadowRadius - mOffsetX, - top + mShadowRadius - mOffsetY, right - mShadowRadius - mOffsetX, bottom - mShadowRadius - mOffsetY); + mRect = new RectFloat( + (float) NumberUtil.sub(NumberUtil.add(left, mShadowRadius), mOffsetX), + (float) NumberUtil.sub(NumberUtil.add(top, mShadowRadius), mOffsetY), + (float) NumberUtil.sub(NumberUtil.sub(right, mShadowRadius), mOffsetX), + (float) NumberUtil.sub(NumberUtil.sub(bottom, mShadowRadius), mOffsetY)); newPoints = getBoundPoint(mRect); colors = new Color[]{new Color(mShadowColor), Color.TRANSPARENT}; diff --git a/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowLayout1.java b/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowLayout1.java index 3f6e860..04f0b1e 100644 --- a/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowLayout1.java +++ b/library/src/main/java/com/lijiankun24/shadowlayout/v2/ShadowLayout1.java @@ -1,6 +1,7 @@ package com.lijiankun24.shadowlayout.v2; import com.lijiankun24.shadowlayout.AttrUtil; +import com.lijiankun24.shadowlayout.NumberUtil; import ohos.agp.colors.RgbColor; import ohos.agp.components.AttrSet; import ohos.agp.components.Component; @@ -25,7 +26,7 @@ import java.util.Optional; * @author lijiankun * @since 2021-03-08 */ -public class ShadowLayout1 extends StackLayout implements Component.EstimateSizeListener,Component.DrawTask { +public class ShadowLayout1 extends StackLayout implements Component.EstimateSizeListener, Component.DrawTask { /** * 全部阴影 */ @@ -97,7 +98,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize private ShadowDrawable mShadowDrawable; - private HiLogLabel logLabel = new HiLogLabel(HiLog.LOG_APP,0x0001,"TAG--0"); + private HiLogLabel logLabel = new HiLogLabel(HiLog.LOG_APP, 0x0001, "TAG--0"); /** * 构造 @@ -105,7 +106,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize * @param context */ public ShadowLayout1(Context context) { - this(context, null); + super(context, null); } /** @@ -136,12 +137,12 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize /** * 获取自定义属性 */ - mShadowShape = AttrUtil.getIntegerValue(attrs,"shadowShape",SHAPE_OVAL); - mShadowRadius = AttrUtil.getFloatValue(attrs,"shadowRadius",0f); - mShadowColor = Color.getIntColor(AttrUtil.getStringValue(attrs,"shadowColor","#000000")); - mShadowDx = AttrUtil.getFloatValue(attrs,"shadowDx",0f); - mShadowDy = AttrUtil.getFloatValue(attrs,"shadowDy",0f); - mShadowSide = AttrUtil.getIntegerValue(attrs,"shadowSide",ALL); + mShadowShape = AttrUtil.getIntegerValue(attrs, "shadowShape", SHAPE_OVAL); + mShadowRadius = AttrUtil.getFloatValue(attrs, "shadowRadius", 0f); + mShadowColor = Color.getIntColor(AttrUtil.getStringValue(attrs, "shadowColor", "#000000")); + mShadowDx = AttrUtil.getFloatValue(attrs, "shadowDx", 0f); + mShadowDy = AttrUtil.getFloatValue(attrs, "shadowDy", 0f); + mShadowSide = AttrUtil.getIntegerValue(attrs, "shadowSide", ALL); /** * 自定义阴影 @@ -156,6 +157,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize * @param widthMeasureSpec * @param heightMeasureSpec * @return 是否测量 + * @noinspection checkstyle:NoWhitespaceBefore */ @Override public boolean onEstimateSize(int widthMeasureSpec, int heightMeasureSpec) { @@ -182,19 +184,19 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize paddingTop = (int) effect; } if ((mShadowSide & RIGHT) == RIGHT) { - rectRight = this.getWidth() + effect; + rectRight = (float) NumberUtil.add(this.getWidth(), effect); paddingRight = (int) effect; } if ((mShadowSide & BOTTOM) == BOTTOM) { - rectBottom = this.getHeight() + effect; + rectBottom = (float) NumberUtil.add(this.getHeight(), effect); paddingBottom = (int) effect; } if (String.valueOf(mShadowDy) != null) { - rectBottom = rectBottom + mShadowDy; + rectBottom = (float) NumberUtil.add(rectBottom, mShadowDy); paddingBottom = paddingBottom + (int) mShadowDy; } if (String.valueOf(mShadowDx) != null) { - rectRight = rectRight + mShadowDx; + rectRight = (float) NumberUtil.add(rectRight, mShadowDx); paddingRight = paddingRight + (int) mShadowDx; } EstimateSpec.getSizeWithMode((int) rectRight, (int) rectLeft); @@ -221,7 +223,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize int blue = Math.abs(colors[TWO]); setBackground(mShadowDrawable); - mShadowDrawable.setRgbColor(new RgbColor(red,green,blue,ALPHA)); + mShadowDrawable.setRgbColor(new RgbColor(red, green, blue, ALPHA)); mShadowDrawable.setColorFilter(new ColorFilter(mShadowColor, BlendMode.COLOR)); } @@ -248,7 +250,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize DisplayAttributes attributes = defaultDisplay.get().getAttributes(); scale = attributes.densityPixels; } - return (float) (dpValue * scale + NUM); + return (float) NumberUtil.add(NumberUtil.mul(dpValue, scale), NUM); } /** @@ -264,7 +266,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize DisplayAttributes attributes = defaultDisplay.get().getAttributes(); float scale = attributes.densityPixels; if (scale != 0) { - pxToDip = (int) ((pxValue / scale) + NUM); + pxToDip = (int) NumberUtil.add(NumberUtil.div(pxValue, scale), NUM); } } return pxToDip; @@ -280,7 +282,7 @@ public class ShadowLayout1 extends StackLayout implements Component.EstimateSize int red = (color & RED) >> SIXTEEN; int green = (color & GREEN) >> EIGHT; int blue = color & BLUE; - return new int[]{red,green,blue}; + return new int[]{red, green, blue}; } } -- Gitee From febef3c5b7b43b1e2b53269f3d3071e68000e6c3 Mon Sep 17 00:00:00 2001 From: renpengfei Date: Tue, 6 Jul 2021 14:40:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9findbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/lijiankun24/shadowlayout/ShadowLayout.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java b/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java index ac4c0f3..d3140f6 100644 --- a/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java +++ b/library/src/main/java/com/lijiankun24/shadowlayout/ShadowLayout.java @@ -140,7 +140,7 @@ public class ShadowLayout extends DependentLayout implements Component.EstimateS * @param attrs */ public ShadowLayout(Context context, AttrSet attrs) { - this(context, attrs, null); + super(context, attrs); } /** -- Gitee