diff --git a/README.md b/README.md index aaa03031ac3c7829adddb789acc185edda40b1f9..9527f87b98d01ce0963adcbd82e5b252975ee845 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ - 功能:竖直样式的 Stepper 组件,未来将会加入更多的样式。你可以自定义正常/激活的圆点颜色、完成图标、动画时长、是否启用动画、线条颜色以及错误高亮颜色之类的参数。 - 项目移植状态:主功能已完成 - 调用差异:无 -- 开发版本:sdk5,DevEco Studio 2.1 Release -- 基线版本:Release 0.2.5 +- 开发版本:sdk6,DevEco Studio2.2 Beta1 +- 基线版本:Release v0.2.5 #### 效果演示 diff --git a/build.gradle b/build.gradle index 859953eaf84cc3cff308056e618b42de0ed752e6..bf479ca657fb6b63c48c13c097af23041e8b2e1e 100644 --- a/build.gradle +++ b/build.gradle @@ -2,9 +2,9 @@ apply plugin: 'com.huawei.ohos.app' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 4 + compatibleSdkVersion 5 } } @@ -19,8 +19,8 @@ buildscript { jcenter() } dependencies { - classpath 'com.huawei.ohos:hap:2.4.4.2' - classpath 'com.huawei.ohos:decctest:1.0.0.7' + classpath 'com.huawei.ohos:hap:2.4.5.0' + classpath 'com.huawei.ohos:decctest:1.2.4.1' } } diff --git a/entry/build.gradle b/entry/build.gradle index 543500c805e37ed31eaa275617ffdcf323e2b499..dcfb3f2b116c8398e2fb36cee9865c6ac40407ee 100644 --- a/entry/build.gradle +++ b/entry/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.huawei.ohos.hap' apply plugin: 'com.huawei.ohos.decctest' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { compatibleSdkVersion 5 } diff --git a/entry/src/main/config.json b/entry/src/main/config.json index fe10e83bf210da71734c2ad4c3b5751736417dc7..e3b4fb045fff4c5620c9ca5305364db616108fe7 100644 --- a/entry/src/main/config.json +++ b/entry/src/main/config.json @@ -5,10 +5,6 @@ "version": { "code": 1000000, "name": "1.0.0" - }, - "apiVersion": { - "compatible": 4, - "target": 5 } }, "deviceConfig": {}, diff --git a/entry/src/main/java/moe/feng/common/stepperview/demo/MaterialRippleLayout.java b/entry/src/main/java/moe/feng/common/stepperview/demo/MaterialRippleLayout.java index 8e33dffad78d08b7c38f965b91ff872a04c8ffe3..3c57691658ba0df2aad9ae7e8ad3b1caecd72bdb 100644 --- a/entry/src/main/java/moe/feng/common/stepperview/demo/MaterialRippleLayout.java +++ b/entry/src/main/java/moe/feng/common/stepperview/demo/MaterialRippleLayout.java @@ -42,7 +42,7 @@ public class MaterialRippleLayout extends StackLayout private static final float DEFAULT_DIAMETER_DP = 80; private static final int HOVER_DURATION = 1500; private static final int ADD_RADIUS_LENGTH = 20; - private static int rippleDuration = DEFAULT_DURATION; + private int rippleDuration = DEFAULT_DURATION; private static final boolean IS_DEFAULT_RIPPLE_OVERLAY = false; private static final int DEFAULT_RIPPLE_COLOR = 0x80000000; private static final int INTAGER2 = 2; @@ -51,8 +51,8 @@ public class MaterialRippleLayout extends StackLayout private static final int TIME = 200; private Component childView; private Color rippleColor = Color.BLACK; - private float rippleAlpha = DEFAULT_ALPHA; - private float rippleDiameter = DEFAULT_DIAMETER_DP; + private double rippleAlpha = DEFAULT_ALPHA; + private double rippleDiameter = DEFAULT_DIAMETER_DP; private boolean isRippleOverlay; private ShapeElement mBackgroundUnable; private ShapeElement mBackgroundPressed; @@ -61,8 +61,8 @@ public class MaterialRippleLayout extends StackLayout private AnimatorValue animatorValue; private ListContainer parentAdapter; private boolean isLongClick = false; - private float maxRadius; - private float mRadiusRipple; + private double maxRadius; + private double mRadiusRipple; private boolean isFingerUp = true; private float positionX; private float positionY; @@ -78,7 +78,8 @@ public class MaterialRippleLayout extends StackLayout if (value <= 0) { return; } - float currentRadius = rippleDiameter + maxRadius * value; + double v =(double)value; + double currentRadius = rippleDiameter + maxRadius * v; if (currentRadius < rippleDiameter) { setRadius(rippleDiameter); } else { @@ -119,11 +120,11 @@ public class MaterialRippleLayout extends StackLayout this.positionY = ppy; } - public float getRadius() { + public double getRadius() { return mRadiusRipple; } - public void setRadius(float radius) { + public void setRadius(double radius) { this.mRadiusRipple = radius; } @@ -159,13 +160,13 @@ public class MaterialRippleLayout extends StackLayout mPaint.setAntiAlias(true); mPaint.setStyle(Paint.Style.FILL_STYLE); mPaint.setColor(rippleColor); - mPaint.setAlpha(rippleAlpha); + mPaint.setAlpha((float)rippleAlpha); } @Override public void onDraw(Component component, Canvas canvas) { HiLog.info(LABEL, "initAttrs onDraw getWidth = " + getWidth() + " getRadius() : " + getRadius()); - canvas.drawCircle(getX(), getY(), getRadius(), mPaint); + canvas.drawCircle(getX(), getY(), (float)getRadius(), mPaint); } private void setStatePress() { @@ -322,8 +323,8 @@ public class MaterialRippleLayout extends StackLayout float ppx = pointerPosition.getX(); int[] parentLocationOnScreen = getLocationOnScreen(); - setX(ppx - parentLocationOnScreen[0]); - setY(component.getHeight() / INTAGER2); + setX((float)((double)ppx - Float.valueOf(parentLocationOnScreen[0]))); + setY(component.getHeight() / Float.valueOf(INTAGER2)); switch (touchEvent.getAction()) { case TouchEvent.PRIMARY_POINT_DOWN: isFingerUp = false; @@ -331,11 +332,11 @@ public class MaterialRippleLayout extends StackLayout handler.postTask(delayRunAnimator, TIME); setRippleDuration(rippleDuration); - if (Math.abs(ppx - parentLocationOnScreen[0]) - > Math.abs(ppx - (parentLocationOnScreen[0] + getWidth()))) { - maxRadius = Math.abs(ppx - parentLocationOnScreen[0]) + ADD_RADIUS_LENGTH; + if (Math.abs((float)((double)ppx - Float.valueOf(parentLocationOnScreen[0]))) + > Math.abs((float)((double)ppx - Float.valueOf(parentLocationOnScreen[0]+getWidth())))) { + maxRadius = Math.abs((double)ppx - Float.valueOf(parentLocationOnScreen[0])) + ADD_RADIUS_LENGTH; } else { - maxRadius = Math.abs(ppx - (parentLocationOnScreen[0] + getWidth())) + ADD_RADIUS_LENGTH; + maxRadius = Math.abs((double)ppx - Float.valueOf(parentLocationOnScreen[0]+getWidth())) + ADD_RADIUS_LENGTH; } mRadiusRipple = maxRadius; fingerPress(); @@ -427,7 +428,7 @@ public class MaterialRippleLayout extends StackLayout public void setRippleColor(int rippleColor) { this.rippleColor = new Color(rippleColor); mPaint.setColor(new Color(rippleColor)); - mPaint.setAlpha(rippleAlpha); + mPaint.setAlpha((float)rippleAlpha); invalidate(); } @@ -438,7 +439,7 @@ public class MaterialRippleLayout extends StackLayout */ public void setDefaultRippleAlpha(float alpha) { this.rippleAlpha = alpha; - mPaint.setAlpha(rippleAlpha); + mPaint.setAlpha((float)rippleAlpha); invalidate(); } @@ -450,7 +451,7 @@ public class MaterialRippleLayout extends StackLayout } public void setRippleDuration(int rippleDuration) { - MaterialRippleLayout.rippleDuration = rippleDuration; + this.rippleDuration = rippleDuration; } public void isRippleOverlay(boolean isOverlay) { diff --git a/entry/src/main/java/moe/feng/common/stepperview/demo/slice/MainAbilitySlice.java b/entry/src/main/java/moe/feng/common/stepperview/demo/slice/MainAbilitySlice.java index 4f977f35ec080fa0a7183e4f00f9bbdba0389780..26ab38b345c359ef8a2b1f4389a8b35197a7393d 100644 --- a/entry/src/main/java/moe/feng/common/stepperview/demo/slice/MainAbilitySlice.java +++ b/entry/src/main/java/moe/feng/common/stepperview/demo/slice/MainAbilitySlice.java @@ -470,12 +470,12 @@ public class MainAbilitySlice extends AbilitySlice implements IStepperAdapter { animation.setValueUpdateListener(new AnimatorValue.ValueUpdateListener() { @Override public void onUpdate(AnimatorValue animatorValue, float interpolatedTime) { - float newHeight = 0; + double newHeight = 0; if (!isShow) { - newHeight = (880 * interpolatedTime); + newHeight = 880 * (double)interpolatedTime; isShowd = true; } else { - newHeight = (880 * (1 - interpolatedTime)); + newHeight = 880 * (1 - (double)interpolatedTime); isShowd = false; } leftlayout.setWidth((int)(newHeight)); diff --git a/library/build.gradle b/library/build.gradle index 25ddf0cf1daa8f1533639ebc05ce352f4019b8ff..7e1e475c1296e7c6d200a45810598ddff583ee7f 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.huawei.ohos.library' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { compatibleSdkVersion 5 } diff --git a/library/src/main/config.json b/library/src/main/config.json index 2ce76e0efd65f625bdbc274b47e990cb008308f7..1b11a817aa46e84bace466a8d3c3f8cefc9e25dd 100644 --- a/library/src/main/config.json +++ b/library/src/main/config.json @@ -5,10 +5,6 @@ "version": { "code": 1000000, "name": "1.0.0" - }, - "apiVersion": { - "compatible": 4, - "target": 5 } }, "deviceConfig": {}, diff --git a/library/src/main/java/moe/feng/common/stepperview/VerticalStepperItemView.java b/library/src/main/java/moe/feng/common/stepperview/VerticalStepperItemView.java index 468a58cb287e60e389176cf1cc57932e5187829a..7f8a34d00f6debb79d3e8ac7565d40501cb88706 100644 --- a/library/src/main/java/moe/feng/common/stepperview/VerticalStepperItemView.java +++ b/library/src/main/java/moe/feng/common/stepperview/VerticalStepperItemView.java @@ -197,7 +197,7 @@ public class VerticalStepperItemView extends StackLayout { mMarginBottomView.getLayoutConfig().height = (!isLastStep ? (mState != STATE_SELECTED ? 28 : 36) : 12) * DP; } - public synchronized void setState(int state) { + public void setState(int state) { mDoneIconView.setVisibility(VISIBLE); mPointNumber.setVisibility(VISIBLE); pointbackground.setVisibility(Component.HIDE); @@ -307,7 +307,7 @@ public class VerticalStepperItemView extends StackLayout { updateSummaryView(); } - public synchronized void setState(int state, int p, int a) { + public void setState(int state, int p, int a) { mErrorIconView.setVisibility(Component.HIDE); mDoneIconView.setVisibility(VISIBLE); mPointNumber.setVisibility(VISIBLE); @@ -417,7 +417,7 @@ public class VerticalStepperItemView extends StackLayout { updateSummaryView(); } - public synchronized void setState(int type, int state) { + public void setState(int type, int state) { mErrorIconView.setVisibility(Component.HIDE); mDoneIconView.setVisibility(VISIBLE); mPointNumber.setVisibility(VISIBLE); @@ -521,14 +521,10 @@ public class VerticalStepperItemView extends StackLayout { updateSummaryView(); } - /** - * Get the state of this stepper item - * - * @return The state of this stepper item - */ - public int getState() { - return mState; - } + +// public int getState() { +// return mState; +// } /** * Set title for this step diff --git a/library/src/main/java/moe/feng/common/stepperview/ViewBasedStepperAdapter.java b/library/src/main/java/moe/feng/common/stepperview/ViewBasedStepperAdapter.java index 5f17511a130aec69ad70efef518904b1d3bf1eed..7f58c438184973ce3acbc98dad7fda01bc73b328 100644 --- a/library/src/main/java/moe/feng/common/stepperview/ViewBasedStepperAdapter.java +++ b/library/src/main/java/moe/feng/common/stepperview/ViewBasedStepperAdapter.java @@ -8,13 +8,13 @@ public abstract class ViewBasedStepperAdapter implements IStepperAdapter { public ViewBasedStepperAdapter() { } - public ViewBasedStepperAdapter(Component[] views) { - mViews = views; - } - - public void setViews(Component[] views) { - mViews = views; - } +// public ViewBasedStepperAdapter(Component[] views) { +// mViews = views; +// } +// +// public void setViews(Component[] views) { +// mViews = views; +// } public Component getView(int index) { return mViews[index]; diff --git a/library/src/main/java/moe/feng/common/stepperview/internal/ClipOvalFrameLayout.java b/library/src/main/java/moe/feng/common/stepperview/internal/ClipOvalFrameLayout.java index 766bf033932fb0a302e61c8a989f62b5d2e0b29c..8c6d4ba328322bdeb2f429e6213d55bd1327fe18 100644 --- a/library/src/main/java/moe/feng/common/stepperview/internal/ClipOvalFrameLayout.java +++ b/library/src/main/java/moe/feng/common/stepperview/internal/ClipOvalFrameLayout.java @@ -37,9 +37,9 @@ public class ClipOvalFrameLayout extends StackLayout implements Component.DrawTa @Override public void onDraw(Component component, Canvas canvas) { - ShapeElement shapeElement = new ShapeElement(); - shapeElement.setCornerRadius(Float.valueOf(getWidth() / 2)); - setBackground(shapeElement); +// ShapeElement shapeElement = new ShapeElement(); +// shapeElement.setCornerRadius(Float.valueOf(getWidth() / 2)); +// setBackground(shapeElement); } @Override