diff --git a/.readme/vertical.gif b/.readme/vertical.gif deleted file mode 100644 index 020abc3b1cd29881be57172b59320087f4ec5552..0000000000000000000000000000000000000000 Binary files a/.readme/vertical.gif and /dev/null differ diff --git a/README.md b/README.md index 31ee9c3f3cdfe0ea2a6c6fa28e61075bd67c10bc..9056a3ce3258e5b72c4b1e4a0be123d1a12046aa 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,85 @@ # MaterialStepperView -**本项目是基于开源项目MaterialStepperView进行鸿蒙化的移植和开发的,可以通过项目标签()以及github地址()追踪到原安卓项目版本项目介绍** +**本项目是基于开源项目MaterialStepperView进行鸿蒙化的移植和开发的,可以通过项目标签()以及github地址()追踪到原安卓项目版本项目介绍** #### 项目介绍 - 项目名称:MaterialStepperView - 所属系列:鸿蒙的第三方组件适配移植 -- 功能:进度表 -- 项目移植状态:有差异 +- 功能:竖直样式的 Stepper 组件。未来将会加入更多的样式。你可以自定义正常/激活的圆点颜色、完成图标、动画时长、是否启用动画、线条颜色以及错误高亮颜色之类的参数。 +- 项目移植状态:无差异 - 调用差异:无 +- 基线版本:MaterialStepperView组件Tags 1.0.0 - 开发版本:sdk5,DevEco Studio2.1 beta3 - 项目作者和维护人:王冬冬 - 联系方式:wangdongdong073@chinasoftinc.com - 原项目Doc地址:https://github.com/fython/MaterialStepperView + #### 项目介绍 - 编程语言:Java - 外部库依赖:无 + #### 安装教程 -1. 下载okhttp的jar包okhttp.jar(位于:)。 -2. 启动 DevEco Studio,将下载的jar包,导入工程目录“entry->libs”下。 -3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下jar包的引用。 + +1. 下载MaterialStepperView的har包MaterialStepperView.har。 +2. 启动 DevEco Studio,将下载的har包,导入工程目录“entry->libs”下。 +3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下har包的引用。 ``` dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) …… } ``` -4. 在导入的jar包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,点击“OK”即引用成功。 #### 使用说明 - 目前我们只做了竖直样式的 Stepper 组件。未来将会加入更多的样式。 你可以自定义正常/激活的圆点颜色、完成图标、动画时长、是否启用动画、线条颜色以及错误高亮颜色之类的参数。 +```示例XML + + + + + +``` + +-属性介绍 + step_index 当前第几步 + step_state 当前的状态 + step_summary 当前状态信息 + step_summary_done 当前的状态 + step_title 当前标题 + step_done_icon 完成图标 + step_animation_duration 执行动画时间 + + #### 测试信息 CodeCheck代码测试无异常 + VirusTotal病毒安全检测通过 + 测试员:李仲 #### 版本迭代 + - v0.0.1-alpha + #### 版权和许可信息 diff --git a/entry/build.gradle b/entry/build.gradle index fa32f368dfb0fe2dedb1663eb4f2b2148b17146c..e84d30a775e7dad18e2007cc900f6c4c54993506 100644 --- a/entry/build.gradle +++ b/entry/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.huawei.ohos.decctest' ohos { compileSdkVersion 5 defaultConfig { - compatibleSdkVersion 4 + compatibleSdkVersion 5 } buildTypes { release { @@ -19,8 +19,8 @@ ohos { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) testImplementation 'junit:junit:4.13' - compile project(':library') ohosTestImplementation 'com.huawei.ohos.testkit:runner:1.0.0.100' + compile project(":library") } decc { supportType = ['html','xml'] diff --git a/entry/src/main/config.json b/entry/src/main/config.json index e208f812b2a301838629df47a17849d69ef0c1f5..13344484eb7ac8ecc8303d56e1d0e436ab18ebd7 100644 --- a/entry/src/main/config.json +++ b/entry/src/main/config.json @@ -1,6 +1,6 @@ { "app": { - "bundleName": "moe.feng.common.steperview", + "bundleName": "moe.feng.common.stepperview.demo", "vendor": "feng", "version": { "code": 1, @@ -14,7 +14,7 @@ }, "deviceConfig": {}, "module": { - "package": "moe.feng.common.steperview", + "package": "moe.feng.common.stepperview.demo", "name": ".MyApplication", "deviceType": [ "phone" @@ -46,7 +46,7 @@ } ], "orientation": "unspecified", - "name": "moe.feng.common.steperview.MainAbility", + "name": "moe.feng.common.stepperview.demo.MainAbility", "icon": "$media:icon", "description": "$string:mainability_description", "label": "$string:app_name", diff --git a/entry/src/main/java/moe/feng/common/steperview/utils/Utilty.java b/entry/src/main/java/moe/feng/common/steperview/utils/Utilty.java deleted file mode 100644 index 9506b2334d867bdeabc6dda0cfc2ddf84f0ac129..0000000000000000000000000000000000000000 --- a/entry/src/main/java/moe/feng/common/steperview/utils/Utilty.java +++ /dev/null @@ -1,97 +0,0 @@ -package moe.feng.common.steperview.utils; - -import moe.feng.common.steperview.ResourceTable; -import ohos.agp.components.DirectionalLayout; -import ohos.agp.components.LayoutScatter; -import ohos.agp.components.Text; -import ohos.agp.components.element.Element; -import ohos.agp.render.BlendMode; -import ohos.agp.render.Paint; -import ohos.agp.utils.LayoutAlignment; -import ohos.agp.utils.TextAlignment; -import ohos.agp.window.dialog.ToastDialog; -import ohos.app.Context; -import ohos.eventhandler.EventHandler; -import ohos.eventhandler.EventRunner; -import ohos.utils.IntervalTimer; - -public class Utilty { - - private static final int MAX_LINE = 2; - private static final int DURATION = 5000; - private static final int OFFSET_Y = 60; - public static int getFontHeight(int fontSize) - { - Paint paint = new Paint(); - paint.setTextSize(fontSize); - Paint.FontMetrics fm = paint.getFontMetrics(); - return (int) Math.ceil(fm.descent - fm.top) + 2; - } - - public static void toast(Context context,String string){ - DirectionalLayout toastLayout = (DirectionalLayout) LayoutScatter.getInstance(context) - .parse(ResourceTable.Layout_layout_toast, null, false); - Text text = (Text) toastLayout.findComponentById(ResourceTable.Id_msg_toast); - text.setText(string); - text.setTextAlignment(TextAlignment.LEFT); - text.setMultipleLine(true); - text.setMaxTextLines(MAX_LINE); - text.setTruncationMode(Text.TruncationMode.ELLIPSIS_AT_END); - new ToastDialog(context) - .setComponent(toastLayout) - .setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT) - .setAlignment(LayoutAlignment.BOTTOM | LayoutAlignment.HORIZONTAL_CENTER) - .setOffset(0, OFFSET_Y) - .show(); - } - public void runInMainThread(Runnable task) { - EventRunner runner = EventRunner.getMainEventRunner(); - EventHandler handler = new EventHandler(runner); - handler.postTask(task); - } - - private IntervalTimer gameTimer; - private int i=0; - private void startGameLoop() { - if (gameTimer == null) { - gameTimer = new IntervalTimer(1000, 1000) { - @Override - public void onInterval(long l) { - runInMainThread(new Runnable() { - @Override - public void run() { - System.out.println("123123123123123123"); - i++; - if(i==6){ - } - } - }); - } - - @Override - public void onFinish() { - gameTimer.schedule(); - } - }; - gameTimer.schedule(); - } - } - - private void stopGameLoop() { - if (gameTimer != null) { - gameTimer.cancel(); - gameTimer = null; - } - } - //Element 传 PixelMapElement - public static Element getTintElement(Element element, int intColor) { - int[] colors = new int[]{intColor, intColor}; - int[][] states = new int[2][]; - states[0] = new int[]{1}; - states[1] = new int[]{-1}; - element.setStateColorList(states, colors); - element.setStateColorMode(BlendMode.SRC_ATOP); - return element; - } -} - diff --git a/entry/src/main/java/moe/feng/common/steperview/utils/ViewCreateHelper.java b/entry/src/main/java/moe/feng/common/steperview/utils/ViewCreateHelper.java deleted file mode 100644 index 7ccaf236494e221be2ca7659923105d9fa0a8f23..0000000000000000000000000000000000000000 --- a/entry/src/main/java/moe/feng/common/steperview/utils/ViewCreateHelper.java +++ /dev/null @@ -1,428 +0,0 @@ -package moe.feng.common.steperview.utils; - - -import moe.feng.common.steperview.ResourceTable; -import moe.feng.common.steperview.view.SampleItemProvider; -import moe.feng.common.stepperview.CustomeDirectionalLayout; -import moe.feng.common.stepperview.view.ViewUtils; -import ohos.agp.animation.Animator; -import ohos.agp.animation.AnimatorValue; -import ohos.agp.components.*; -import ohos.agp.components.element.Element; -import ohos.agp.components.element.PixelMapElement; -import ohos.agp.components.element.ShapeElement; -import ohos.agp.text.Font; -import ohos.agp.utils.Color; -import ohos.app.Context; -import ohos.eventhandler.EventHandler; -import ohos.eventhandler.EventRunner; -import ohos.global.resource.NotExistException; -import ohos.global.resource.Resource; -import ohos.utils.IntervalTimer; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Version 1.0 - * ModifiedBy - * date 2021-03-15 10:13 - * description ViewCreateHelper - */ -public final class ViewCreateHelper { - private Context slice; - - /** - * 构造函数 - * - * @param abilitySlice Context - */ - public ViewCreateHelper(Context abilitySlice) { - this.slice = abilitySlice; - } - - /** - * 创建view - * - * @return Component - */ - private List titles = new ArrayList<>(); - private List contents = new ArrayList<>(); - private List