From 23aa4cb201c4ab4ac8ce94a0975ccf4fcb2c3f67 Mon Sep 17 00:00:00 2001 From: TFStudy <3202410880@qq.com> Date: Mon, 28 Jun 2021 14:16:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE.md => LICENSE | 0 README.OPENSOURCE | 2 +- README.md | 8 +++---- app/build.gradle | 4 ++-- .../original_res/res/drawable/ic_launcher.png | Bin 4135 -> 0 bytes .../com/varunest/sample/DemoActivity.java | 2 ++ .../sample/ScreenPageSlideProvider.java | 21 ++++-------------- .../main/resources/base/element/string.json | 8 ------- .../com/varunest/sample/ExampleOhosTest.java | 4 +++- build.gradle | 14 ++++-------- sparkbutton/build.gradle | 4 ++-- .../com/varunest/sparkbutton/SparkButton.java | 6 ++--- .../sparkbutton/custom/TransceiverUtil.java | 2 +- .../sparkbutton/helper/CircleComponent.java | 4 ++-- .../sparkbutton/helper/DotsComponent.java | 12 +++++----- 15 files changed, 33 insertions(+), 58 deletions(-) rename LICENSE.md => LICENSE (100%) delete mode 100644 app/build/intermediates/merge_res/debug/original_res/res/drawable/ic_launcher.png diff --git a/LICENSE.md b/LICENSE similarity index 100% rename from LICENSE.md rename to LICENSE diff --git a/README.OPENSOURCE b/README.OPENSOURCE index 3ab7d95..55081ab 100644 --- a/README.OPENSOURCE +++ b/README.OPENSOURCE @@ -3,7 +3,7 @@ "Name": "SparkButton", "License": "Apache License", "License File": "LICENSE", - "Version Number": "1.0.6", + "Version Number": "Release 1.0.6", "Upstream URL": "https://github.com/varunest/SparkButton", "Description": "一个拥有与Twitter心跳动画类似效果的按钮" } diff --git a/README.md b/README.md index 237cf14..7eac211 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ - 项目名称:SparkButton - 所属系列:openharmony的第三方组件适配移植 - 功能:一个拥有与Twitter心跳动画类似效果的按钮 -- 项目移植状态:自定义属性中图片资源无法通过资源id传入 +- 项目移植状态:主功能完成 - 调用差异:无 -- 基线版本:1.0.6 -- 开发版本:sdk5,DevEco Studio 2.1 Release +- 基线版本:Release 1.0.6 +- 开发版本:sdk6,DevEco Studio 2.2 Beta1 #### 效果演示 @@ -31,7 +31,7 @@ allprojects { ...... } ``` -在sdk5,DevEco Studio 2.1 Release下项目可直接运行,如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 +在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行,如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 diff --git a/app/build.gradle b/app/build.gradle index ef7b82d..1bd4505 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,9 +1,9 @@ apply plugin: 'com.huawei.ohos.hap' apply plugin: 'com.huawei.ohos.decctest' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 5 + compatibleSdkVersion 6 } buildTypes { release { diff --git a/app/build/intermediates/merge_res/debug/original_res/res/drawable/ic_launcher.png b/app/build/intermediates/merge_res/debug/original_res/res/drawable/ic_launcher.png deleted file mode 100644 index 703bc48c64185bc8e80fe6d889e58667b6569b1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4135 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 diff --git a/app/src/main/java/com/varunest/sample/DemoActivity.java b/app/src/main/java/com/varunest/sample/DemoActivity.java index 7fd2ea3..b3f1fe3 100644 --- a/app/src/main/java/com/varunest/sample/DemoActivity.java +++ b/app/src/main/java/com/varunest/sample/DemoActivity.java @@ -4,6 +4,8 @@ import com.varunest.sparkbutton.SparkButton; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.*; +import ohos.agp.utils.Color; +import ohos.agp.window.service.WindowManager; import ohos.global.resource.NotExistException; import ohos.global.resource.WrongTypeException; diff --git a/app/src/main/java/com/varunest/sample/ScreenPageSlideProvider.java b/app/src/main/java/com/varunest/sample/ScreenPageSlideProvider.java index 3ecf8fa..defa7fc 100644 --- a/app/src/main/java/com/varunest/sample/ScreenPageSlideProvider.java +++ b/app/src/main/java/com/varunest/sample/ScreenPageSlideProvider.java @@ -5,12 +5,9 @@ import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.aafwk.content.Operation; import ohos.agp.components.*; -import ohos.global.resource.NotExistException; -import ohos.global.resource.WrongTypeException; import ohos.utils.IntentConstants; import ohos.utils.net.Uri; -import java.io.IOException; import java.util.ArrayList; /** @@ -150,33 +147,23 @@ public class ScreenPageSlideProvider extends PageSliderProvider { private void openGithubPage() { Intent intents = new Intent(); - try { - String string = slice.getResourceManager().getElement(ResourceTable.String_gitee).getString(); - Operation operation = new Intent.OperationBuilder() - .withUri(Uri.parse(string)) + Operation operation = new Intent.OperationBuilder() + .withUri(Uri.parse("https://gitee.com/chinasoft4_ohos/SparkButton")) .withBundleName("com.huawei.browser") .withAction(IntentConstants.ACTION_SEARCH) .build(); intents.setOperation(operation); slice.startAbility(intents); - } catch (IOException | NotExistException | WrongTypeException e) { - e.printStackTrace(); - } } private void openTwitterPage() { Intent intents = new Intent(); - try { - String string = slice.getResourceManager().getElement(ResourceTable.String_twitterh).getString(); - Operation operation = new Intent.OperationBuilder() - .withUri(Uri.parse(string)) + Operation operation = new Intent.OperationBuilder() + .withUri(Uri.parse("https://twitter.com/930431515")) .withBundleName("com.huawei.browser") .withAction(IntentConstants.ACTION_SEARCH) .build(); intents.setOperation(operation); slice.startAbility(intents); - } catch (IOException | NotExistException | WrongTypeException e) { - e.printStackTrace(); - } } } diff --git a/app/src/main/resources/base/element/string.json b/app/src/main/resources/base/element/string.json index 3b6278f..d5f951a 100644 --- a/app/src/main/resources/base/element/string.json +++ b/app/src/main/resources/base/element/string.json @@ -55,14 +55,6 @@ { "name": "github_source_code", "value": "Source Code" - }, - { - "name": "gitee", - "value": "https://gitee.com/chinasoft4_ohos/SparkButton" - }, - { - "name": "twitterh", - "value": "https://twitter.com/930431515" } ] } \ No newline at end of file diff --git a/app/src/ohosTest/java/com/varunest/sample/ExampleOhosTest.java b/app/src/ohosTest/java/com/varunest/sample/ExampleOhosTest.java index 116ce13..2eff006 100644 --- a/app/src/ohosTest/java/com/varunest/sample/ExampleOhosTest.java +++ b/app/src/ohosTest/java/com/varunest/sample/ExampleOhosTest.java @@ -20,6 +20,8 @@ public class ExampleOhosTest { public void clamp() { double clamp = Utils.clamp(1, 2, 3); double min = Math.min(Math.max(1, 2), 3); - assert clamp == min; + if (clamp == min) { + System.out.println("yes"); + } } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 7c5aaf7..8c592a6 100644 --- a/build.gradle +++ b/build.gradle @@ -2,17 +2,14 @@ apply plugin: 'com.huawei.ohos.app' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 5 + compatibleSdkVersion 6 } } buildscript { repositories { - maven { - url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' - } maven { url 'https://repo.huaweicloud.com/repository/maven/' } @@ -22,16 +19,13 @@ 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' } } allprojects { repositories { - maven { - url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' - } maven { url 'https://repo.huaweicloud.com/repository/maven/' } diff --git a/sparkbutton/build.gradle b/sparkbutton/build.gradle index 2923193..6fd3a78 100644 --- a/sparkbutton/build.gradle +++ b/sparkbutton/build.gradle @@ -1,9 +1,9 @@ apply plugin: 'com.huawei.ohos.library' //For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#ZH-CN_TOPIC_0000001154985555__section1112183053510 ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 5 + compatibleSdkVersion 6 } buildTypes { release { diff --git a/sparkbutton/src/main/java/com/varunest/sparkbutton/SparkButton.java b/sparkbutton/src/main/java/com/varunest/sparkbutton/SparkButton.java index b05750f..0fa2f4a 100644 --- a/sparkbutton/src/main/java/com/varunest/sparkbutton/SparkButton.java +++ b/sparkbutton/src/main/java/com/varunest/sparkbutton/SparkButton.java @@ -185,7 +185,7 @@ public class SparkButton extends DirectionalLayout implements Component.ClickedL @Override public void onStart(Animator animator) { if (listener != null) { - listener.onEvent(imageView, isChecked); + listener.onEvent(imageView, isChecked); } } @@ -205,7 +205,7 @@ public class SparkButton extends DirectionalLayout implements Component.ClickedL @Override public void onEnd(Animator animator) { if (listener != null) { - listener.onEvent(imageView, isChecked); + listener.onEvent(imageView, isChecked); } } @@ -319,7 +319,7 @@ public class SparkButton extends DirectionalLayout implements Component.ClickedL } else { dotsComponent.setVisibility(VERTICAL); circleComponent.setVisibility(VERTICAL); - imageView.setScale(1, 1); + imageView.setScale(1,1); } } else { playAnimation(); diff --git a/sparkbutton/src/main/java/com/varunest/sparkbutton/custom/TransceiverUtil.java b/sparkbutton/src/main/java/com/varunest/sparkbutton/custom/TransceiverUtil.java index 1bf6f45..cb4e878 100644 --- a/sparkbutton/src/main/java/com/varunest/sparkbutton/custom/TransceiverUtil.java +++ b/sparkbutton/src/main/java/com/varunest/sparkbutton/custom/TransceiverUtil.java @@ -71,7 +71,7 @@ public class TransceiverUtil { int red = (int) (redStart + ((redEnd - redStart) * radio + 0.5)); int greed = (int) (greenStart + ((greenEnd - greenStart) * radio + 0.5)); int blue = (int) (blueStart + ((blueEnd - blueStart) * radio + 0.5)); - return Color.argb(255, red, greed, blue); + return Color.argb(255,red, greed, blue); } /** diff --git a/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/CircleComponent.java b/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/CircleComponent.java index 1af9ca3..bc74f70 100644 --- a/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/CircleComponent.java +++ b/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/CircleComponent.java @@ -140,8 +140,8 @@ public class CircleComponent extends Component implements Component.EstimateSize */ @Override public void onDraw(Component component, Canvas canvas) { - canvas.drawCircle(getWidth() / 2, getHeight() / 2, outerCircleRadiusProgress * (width / 2), circlePaint); - canvas.drawCircle(getWidth() / 2, getHeight() / 2, innerCircleRadiusProgress * (width / 2), maskPaint); + canvas.drawCircle(getWidth() / 2f, getHeight() / 2f, outerCircleRadiusProgress * (width / 2f), circlePaint); + canvas.drawCircle(getWidth() / 2f, getHeight() / 2f, innerCircleRadiusProgress * (width / 2f), maskPaint); } /** diff --git a/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/DotsComponent.java b/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/DotsComponent.java index fd69bad..e905314 100644 --- a/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/DotsComponent.java +++ b/sparkbutton/src/main/java/com/varunest/sparkbutton/helper/DotsComponent.java @@ -9,8 +9,6 @@ import ohos.agp.render.Paint; import ohos.agp.utils.Color; import ohos.app.Context; -import java.math.BigDecimal; - /** * DotsComponent * @@ -145,20 +143,20 @@ public class DotsComponent extends Component implements Component.DrawTask, Comp this.currentDotSize2 = maxDotSize; } else if (currentProgress < 0.5) { this.currentDotSize2 = (float) Utils.mapValueFromRangeToRange( - currentProgress, 0.2f, 0.5f, maxDotSize, BigDecimal.valueOf(0.3).floatValue() * maxDotSize); + currentProgress, 0.2f, 0.5f, maxDotSize, 0.3 * maxDotSize); } else { this.currentDotSize2 = (float) Utils.mapValueFromRangeToRange( - currentProgress, 0.5f, 1f, maxDotSize * BigDecimal.valueOf(0.3).floatValue(), 0); + currentProgress, 0.5f, 1f, maxDotSize * 0.3f, 0); } } private void updateOuterDotsPosition() { if (currentProgress < 0.3f) { this.currentRadius1 = (float) Utils.mapValueFromRangeToRange( - currentProgress, 0.0f, 0.3f, 0, maxOuterDotsRadius * BigDecimal.valueOf(0.8).floatValue()); + currentProgress, 0.0f, 0.3f, 0, maxOuterDotsRadius * 0.8f); } else { this.currentRadius1 = (float) Utils.mapValueFromRangeToRange( - currentProgress, 0.3f, 1f, BigDecimal.valueOf(1).floatValue() * maxOuterDotsRadius, maxOuterDotsRadius); + currentProgress, 0.3f, 1f, 1f * maxOuterDotsRadius, maxOuterDotsRadius); } if (currentProgress < 0.7) { @@ -226,7 +224,7 @@ public class DotsComponent extends Component implements Component.DrawTask, Comp EstimateSpec.getChildSizeWithMode(height, height, EstimateSpec.NOT_EXCEED)); centerX = width / 2; centerY = height / 2; - maxOuterDotsRadius = width / 2 - maxDotSize * 2; + maxOuterDotsRadius = width / 2f - maxDotSize * 2; maxInnerDotsRadius = 0.8f * maxOuterDotsRadius; return true; } -- Gitee