From 6b08ca989fa7e2e216b4cdd0bbbcd55420b80b4e Mon Sep 17 00:00:00 2001 From: lilinfeng-z <3211270061@qq.com> Date: Mon, 19 Jul 2021 14:36:39 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 +- .idea/checkstyle-idea.xml | 16 + .idea/codeStyles/Project.xml | 116 ----- .idea/{encodings.xml => compiler.xml} | 4 +- .idea/dictionaries/myzcx.xml | 3 - .idea/gradle.xml | 7 +- .idea/markdown-navigator-enh.xml | 10 + .idea/markdown-navigator.xml | 46 ++ .../markdown-navigator/profiles_settings.xml | 3 - .idea/misc.xml | 47 +- .idea/qaplug_profiles.xml | 465 ++++++++++++++++++ .idea/runConfigurations.xml | 12 - .idea/vcs.xml | 6 + CHANGELOG.md | 3 + LICENSE | 13 + README.OPENSOURCE | 19 + README.md | 261 ++++------ app/build.gradle | 24 - app/proguard-rules.pro | 21 - app/src/main/AndroidManifest.xml | 23 - .../com/kongzue/stacklabel/MainActivity.java | 127 ----- .../drawable-v24/ic_launcher_foreground.xml | 34 -- .../res/drawable/ic_launcher_background.xml | 170 ------- app/src/main/res/layout/activity_main.xml | 149 ------ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 - app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2963 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4905 -> 0 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2060 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2783 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4490 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6895 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6387 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10413 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9128 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15132 -> 0 bytes app/src/main/res/values/colors.xml | 6 - app/src/main/res/values/strings.xml | 3 - app/src/main/res/values/styles.xml | 11 - build.gradle | 43 +- {app => entry}/.gitignore | 0 entry/build.gradle | 27 + entry/src/main/config.json | 54 ++ .../com/kongzue/stacklabel/MainAbility.java | 15 + .../com/kongzue/stacklabel/MyApplication.java | 24 + .../stacklabel/slice/MainAbilitySlice.java | 239 +++++++++ .../com/kongzue/stacklabel/slice/Toast.java | 260 ++++++++++ .../main/resources/base/element/color.json | 48 ++ .../main/resources/base/element/string.json | 16 + .../graphic/background_ability_button.xml | 12 + .../base/graphic/background_ability_edit.xml | 8 + .../base/graphic/background_ability_main.xml | 6 + .../resources/base/layout/ability_main.xml | 199 ++++++++ .../resources/base/layout/ability_toast.xml | 19 + entry/src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../main/resources/base/media}/img_delete.png | Bin .../src/main/resources/en/element/string.json | 16 + .../src/main/resources/zh/element/string.json | 16 + entry/src/ohosTest/config.json | 36 ++ .../kongzue/stacklabel/ExampleOhosTest.java | 14 + .../com/kongzue/stacklabel/ExampleTest.java | 9 + gradle.properties | 15 - gradle/wrapper/gradle-wrapper.jar | Bin 54329 -> 58694 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 172 ------- gradlew.bat | 84 ---- img/demo1.gif | Bin 0 -> 4405426 bytes settings.gradle | 2 +- stacklabelview/build.gradle | 87 +--- stacklabelview/proguard-rules.pro | 21 - stacklabelview/src/main/AndroidManifest.xml | 2 - stacklabelview/src/main/config.json | 23 + .../kongzue/stacklabelview/StackLabel.java | 395 +++++++-------- .../kongzue/stacklabelview/StackLayout.java | 149 +++--- .../interfaces/OnLabelClickListener.java | 7 +- .../stacklabelview/utils/AttrUtils.java | 149 ++++++ .../rect_normal_label_button.xml | 6 - .../src/main/res/layout/layout_label.xml | 39 -- stacklabelview/src/main/res/values/attr.xml | 25 - .../src/main/res/values/strings.xml | 3 - .../main/resources/base/element/string.json | 8 + .../base/graphic}/rect_label_bkg_normal.xml | 9 +- .../base/graphic}/rect_label_bkg_press.xml | 9 +- .../graphic}/rect_label_bkg_select_normal.xml | 9 +- .../base/graphic/rect_normal_label_button.xml | 12 + .../resources/base/layout/layout_label.xml | 40 ++ .../base/media}/img_delete.png | Bin .../kongzue/stacklabelview/ExampleTest.java | 9 + 88 files changed, 2304 insertions(+), 1650 deletions(-) create mode 100644 .idea/checkstyle-idea.xml delete mode 100644 .idea/codeStyles/Project.xml rename .idea/{encodings.xml => compiler.xml} (50%) delete mode 100644 .idea/dictionaries/myzcx.xml create mode 100644 .idea/markdown-navigator-enh.xml create mode 100644 .idea/markdown-navigator.xml delete mode 100644 .idea/markdown-navigator/profiles_settings.xml create mode 100644 .idea/qaplug_profiles.xml delete mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.OPENSOURCE delete mode 100644 app/build.gradle delete mode 100644 app/proguard-rules.pro delete mode 100644 app/src/main/AndroidManifest.xml delete mode 100644 app/src/main/java/com/kongzue/stacklabel/MainActivity.java delete mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 app/src/main/res/layout/activity_main.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/values/colors.xml delete mode 100644 app/src/main/res/values/strings.xml delete mode 100644 app/src/main/res/values/styles.xml rename {app => entry}/.gitignore (100%) create mode 100644 entry/build.gradle create mode 100644 entry/src/main/config.json create mode 100644 entry/src/main/java/com/kongzue/stacklabel/MainAbility.java create mode 100644 entry/src/main/java/com/kongzue/stacklabel/MyApplication.java create mode 100644 entry/src/main/java/com/kongzue/stacklabel/slice/MainAbilitySlice.java create mode 100644 entry/src/main/java/com/kongzue/stacklabel/slice/Toast.java create mode 100644 entry/src/main/resources/base/element/color.json create mode 100644 entry/src/main/resources/base/element/string.json create mode 100644 entry/src/main/resources/base/graphic/background_ability_button.xml create mode 100644 entry/src/main/resources/base/graphic/background_ability_edit.xml create mode 100644 entry/src/main/resources/base/graphic/background_ability_main.xml create mode 100644 entry/src/main/resources/base/layout/ability_main.xml create mode 100644 entry/src/main/resources/base/layout/ability_toast.xml create mode 100644 entry/src/main/resources/base/media/icon.png rename {app/src/main/res/mipmap-xxhdpi => entry/src/main/resources/base/media}/img_delete.png (100%) create mode 100644 entry/src/main/resources/en/element/string.json create mode 100644 entry/src/main/resources/zh/element/string.json create mode 100644 entry/src/ohosTest/config.json create mode 100644 entry/src/ohosTest/java/com/kongzue/stacklabel/ExampleOhosTest.java create mode 100644 entry/src/test/java/com/kongzue/stacklabel/ExampleTest.java delete mode 100644 gradle.properties delete mode 100644 gradlew delete mode 100644 gradlew.bat create mode 100644 img/demo1.gif delete mode 100644 stacklabelview/proguard-rules.pro delete mode 100644 stacklabelview/src/main/AndroidManifest.xml create mode 100644 stacklabelview/src/main/config.json create mode 100644 stacklabelview/src/main/java/com/kongzue/stacklabelview/utils/AttrUtils.java delete mode 100644 stacklabelview/src/main/res/drawable-xxhdpi/rect_normal_label_button.xml delete mode 100644 stacklabelview/src/main/res/layout/layout_label.xml delete mode 100644 stacklabelview/src/main/res/values/attr.xml delete mode 100644 stacklabelview/src/main/res/values/strings.xml create mode 100644 stacklabelview/src/main/resources/base/element/string.json rename stacklabelview/src/main/{res/drawable-xxhdpi => resources/base/graphic}/rect_label_bkg_normal.xml (37%) rename stacklabelview/src/main/{res/drawable-xxhdpi => resources/base/graphic}/rect_label_bkg_press.xml (37%) rename stacklabelview/src/main/{res/drawable-xxhdpi => resources/base/graphic}/rect_label_bkg_select_normal.xml (37%) create mode 100644 stacklabelview/src/main/resources/base/graphic/rect_normal_label_button.xml create mode 100644 stacklabelview/src/main/resources/base/layout/layout_label.xml rename stacklabelview/src/main/{res/mipmap-xxhdpi => resources/base/media}/img_delete.png (100%) create mode 100644 stacklabelview/src/test/java/com/kongzue/stacklabelview/ExampleTest.java diff --git a/.gitignore b/.gitignore index fd45b12..f1f83f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,16 @@ *.iml .gradle /local.properties -/.idea/caches/build_file_checksums.ser +/.idea/caches /.idea/libraries /.idea/modules.xml /.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml .DS_Store /build /captures .externalNativeBuild +/entry/.preview +.cxx +upload.gradle diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml new file mode 100644 index 0000000..9d45f43 --- /dev/null +++ b/.idea/checkstyle-idea.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 681f41a..0000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -
- - - - xmlns:android - - ^$ - - - -
-
- - - - xmlns:.* - - ^$ - - - BY_NAME - -
-
- - - - .*:id - - http://schemas.android.com/apk/res/android - - - -
-
- - - - .*:name - - http://schemas.android.com/apk/res/android - - - -
-
- - - - name - - ^$ - - - -
-
- - - - style - - ^$ - - - -
-
- - - - .* - - ^$ - - - BY_NAME - -
-
- - - - .* - - http://schemas.android.com/apk/res/android - - - ANDROID_ATTRIBUTE_ORDER - -
-
- - - - .* - - .* - - - BY_NAME - -
-
-
-
-
-
\ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/compiler.xml similarity index 50% rename from .idea/encodings.xml rename to .idea/compiler.xml index 97626ba..61a9130 100644 --- a/.idea/encodings.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - - + + \ No newline at end of file diff --git a/.idea/dictionaries/myzcx.xml b/.idea/dictionaries/myzcx.xml deleted file mode 100644 index 2883f8e..0000000 --- a/.idea/dictionaries/myzcx.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index aeb6b27..b051003 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,16 +3,19 @@ diff --git a/.idea/markdown-navigator-enh.xml b/.idea/markdown-navigator-enh.xml new file mode 100644 index 0000000..a8fcc84 --- /dev/null +++ b/.idea/markdown-navigator-enh.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml new file mode 100644 index 0000000..57b84e5 --- /dev/null +++ b/.idea/markdown-navigator.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml deleted file mode 100644 index db06266..0000000 --- a/.idea/markdown-navigator/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 51fa3e5..8a14290 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,44 +1,13 @@ - - - + + - - - - - \ No newline at end of file diff --git a/.idea/qaplug_profiles.xml b/.idea/qaplug_profiles.xml new file mode 100644 index 0000000..d8df158 --- /dev/null +++ b/.idea/qaplug_profiles.xml @@ -0,0 +1,465 @@ + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9b958e2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1-SNAPSHOT +ohos 第一个版本,完整实现了原库的全部 api + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f0bd2f3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright Kongzue StackLabel + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/README.OPENSOURCE b/README.OPENSOURCE new file mode 100644 index 0000000..25d6a85 --- /dev/null +++ b/README.OPENSOURCE @@ -0,0 +1,19 @@ +[ + + { + + "Name": "StackLabel", + + "License": "Apache License", + + "License File": "LICENSE", + + "Version Number": "master分支", + + "Upstream URL": "https://github.com/kongzue/StackLabel", + + "Description": "是堆叠标签组件,适合快速完成需要堆叠标签的场景,例如“搜索历史”、“猜你喜欢”等功能。" + + } + +] \ No newline at end of file diff --git a/README.md b/README.md index 0857fb3..c0b2e9e 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,62 @@ -# Kongzue StackLabel -Kongzue StackLabel 是堆叠标签组件,适合快速完成需要堆叠标签的场景,例如“搜索历史”、“猜你喜欢”等功能。 +# StackLabel - -Kongzue StackLabel - - -Maven - - -License - - -Homepage - +## 项目介绍 -Demo预览图如下: +- 项目名称: StackLabel +- 所属系列: openharmony的第三方组件适配移植 +- 功能: 是堆叠标签组件,适合快速完成需要堆叠标签的场景,例如“搜索历史”、“猜你喜欢”等功能。 +- 项目移植状态: 主功能完成 +- 调用差异: 无 +- 开发版本: sdk6,DevEco Studio 2.2 Beta1 +- 基线版本:master分支 -![StackLabel](https://github.com/kongzue/Res/raw/master/app/src/main/res/mipmap-xxxhdpi/stacklabel_demo.png) -从 1.1.3 版本起,亦可实现多选效果: +## 项目演示 + -![StackLabel](https://github.com/kongzue/Res/raw/master/app/src/main/res/mipmap-xxxhdpi/stacklabel_select_demo.png) -Demo下载地址: - -## 优势 -- 轻松易使用,快速创建,满足绝大多数堆叠标签使用场景。 - -## StackLabel 使用方法 - -1) 从 Maven 仓库或 jCenter 引入: -Maven仓库: -``` - - com.kongzue.stacklabel - stacklabelview - 1.1.9 - pom - -``` -Gradle: -在dependencies{}中添加引用: -``` -implementation 'com.kongzue.stacklabel:stacklabelview:1.1.9' -``` - -2) 从XML布局文件创建: -``` - /> ``` @@ -76,16 +75,14 @@ app:textSize | 标签文本字号 | int(像素) app:deleteButtonImage | 删除图标 | resId(资源id,例如@mipmap/img_delete) app:labelBackground | Label背景图 | resId(资源id,例如@mipmap/img_delete) app:selectMode | 选择模式开关 | boolean -app:selectBackground | 选中的Label背景图 | resId(资源id,例如@drawable/rect_label_bkg_select_normal) +app:selectBackground | 选中的Label背景图 | resId(资源id,例如$graphic:rect_label_bkg_select_normal) app:selectTextColor | 选中标签文本颜色 | ColorInt app:maxSelectNum | 最大选择数量 | int app:minSelectNum | 最小选择数量 | int -app:labels | 预设置标签 | String app:maxLines | 最大可显示行数 | int -* 备注:预设置标签必须以英文“,”分隔才可生效 -3) 添加内容: +2) 添加内容: StackLabel 目前仅支持纯文本标签表现,您可以将要显示的 String 字符串文本添加为 List 集合设置给 StackLabel,就会呈现想要的内容,范例如下: ``` @@ -98,7 +95,7 @@ labels.add("Cutisan"); labels.add("记-专注创作"); labels.add("我也不知道我是谁"); labels.add("崩崩崩"); -labels.add("Android"); +labels.add("Ohos"); labels.add("开发"); stackLabelView.setLabels(labels); ``` @@ -108,21 +105,16 @@ stackLabelView.setLabels(labels); stackLabelView.setLabels(new String[]{"花哪儿记账","给未来写封信","密码键盘","抬手唤醒"}); ``` -另外在 1.1.8 版本中,加入了以下方法可动态添加: -``` -stackLabelView.addLabel("新的标签"); -``` - 要实现标签点击,则需要设置点击监听器: ``` stackLabelView.setOnLabelClickListener(new OnLabelClickListener() { - @Override - public void onClick(int index, View v, String s) { - Toast.makeText(MainActivity.this, "点击了:" + s, Toast.LENGTH_SHORT).show(); + @Override + public void onClick(int index, Component v, String s) { + new ToastDialog(MainAbilitySlice.this).setText( "点击了:" + s).show(); } }); ``` -### 删除模式 +3) 删除模式 您可以在代码中使用 setDeleteButton(boolean) 控制 StackLabel 删除模式的开关: ``` @@ -132,14 +124,14 @@ stackLabelView.setDeleteButton(ture); 当 DeleteButton 开启时,点击任何标签即应删除该标签: ``` stackLabelView.setOnLabelClickListener(new OnLabelClickListener() { - @Override - public void onClick(int index, View v, String s) { + @Override + public void onClick(int index, Component v, String s) { if (stackLabelView.isDeleteButton()) { //是否开启了删除模式 //删除并重新设置标签 labels.remove(index); stackLabelView.setLabels(labels); } else { - Toast.makeText(MainActivity.this, "点击了:" + s, Toast.LENGTH_SHORT).show(); + new ToastDialog(MainAbilitySlice.this).setText( "点击了:" + s).show(); } } }); @@ -152,9 +144,9 @@ stackLabelView.remove(1); //删除第1个索引的标签 stackLabelView.remove("标签2"); //删除名为“标签2”的标签 ``` -### 选择模式 +4) 选择模式 -从 1.1.2 版本起,新增了选择模式。 +新增了选择模式。 开启选择模式可以从 XML 布局中加入属性设置: ``` @@ -178,11 +170,11 @@ maxSelectNum 也可在代码中通过 get/set 方法设置。 选中的角标集合可以通过以下方式获取: ``` stackLabelView.setOnLabelClickListener(new OnLabelClickListener() { - @Override - public void onClick(int index, View v, String s) { - if (stackLabelView.isSelectMode()) { + @Override + public void onClick(int index, Component v, String s) { + if (stackLabelView.isSelectMode()) { for (int i : stackLabelView.getSelectIndexList()) { //获取已选定集合的角标,也可通过stackLabelView.getSelectIndexArray()获取数组形式 - Log.i(">>>", "select: " + i); + HiLog.info(hiLogLabel,">>>", "select: " + i); } } } @@ -192,7 +184,7 @@ stackLabelView.setOnLabelClickListener(new OnLabelClickListener() { 另外可通过 setSelectMode(boolean, List) 开启选择模式,并设置默认选中的标签; ``` List selectLabels = new ArrayList<>(); -selectLabels.add("Android"); +selectLabels.add("Ohos"); selectLabels.add("Cutisan"); selectLabels.add("密码键盘"); stackLabelView.setSelectMode(isChecked, selectLabels); @@ -200,44 +192,30 @@ stackLabelView.setSelectMode(isChecked, selectLabels); 以上,即 StackLabel 的基本使用流程。 -### 其他方法 -``` -//判断存在 -boolean isHave = stackLabelView.isHave("标签2"); //判断是否存在名为“标签2”的标签 - -//统计数量 -int count = stackLabelView.count(); //统计所有标签数量 - -//重新加载全部标签 -stackLabelView.reloadViews(); -``` - -## StackLayout 使用方法 -从 1.1.3 版本起新增组件 StackLayout,它继承自 RelativeLayout,可以将自定义的子布局直接放入即可实现堆叠排列。 - -![StackLayout](https://github.com/kongzue/Res/raw/master/app/src/main/res/mipmap-xxxhdpi/img_stacklayout.png) +5) StackLayout 使用方法 +新增组件 StackLayout,它继承自 DependentLayout,可以将自定义的子布局直接放入即可实现堆叠排列。 使用方法: ``` - + - - + + @@ -246,7 +224,20 @@ stackLabelView.reloadViews(); 目前仅支持 itemMargin 属性调整子布局间距。 -## 开源协议 + +## 测试信息 +CodeCheck代码测试无异常 + +CloudTest代码测试无异常 + +病毒安全检测通过 + +当前版本demo功能与原组件基本无差异 + +## 版本迭代 +- 0.0.1-SNAPSHOT + +## 版权和许可信息 ``` Copyright Kongzue StackLabel @@ -261,46 +252,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -``` - -## 更新日志 -v1.1.9: -- 新增 maxLines 属性限定可显示的最大行数。 - -v1.1.8: -- 新增 `isHave(string label)`、`count()`、`reloadViews()` 等方法,使用方法详见“其他方法”; -- 新增 `addLabel(...)` 和 `remove(...)` 方法方便动态添加删除子标签; -- 更改了子布局排列方式,使用 layout 方法设置布局; -- 更改了宽度计算方式,彻底修复单标签长度超出屏幕的问题; - -v1.1.7: -- 对单标签长度超出屏幕的问题进行了修复,目前使用了锁最大宽度的限制方式。 - -v1.1.6: -- 新增 app:itemMarginVertical 和 app:itemMarginHorizontal 属性,可自定义 Label 上下间距; -- 新增 setLabels(String[] arrays) 方便使用集合创建; -- 修复选中标签文字颜色设置纯白色无效的问题; - -v1.1.5: -- 修复了取消选择时文字颜色依然是选择状态的问题; -- 新增 app:minSelectNum 属性,用于设定最小选中数量; - -v1.1.4: -- 新增方法 setSelectMode(boolean, List) 开启选择模式,并设置默认选中的标签; -- 新增属性 selectTextColor 控制选中文本颜色; - -v1.1.3: -- 新增组件 StackLayout; - -v1.1.2: -- 新增了选择模式; - -v1.1.1: -- 增加了判空避免空指针问题; - -v1.1.0: -- 新增属性 deleteButtonImage 和 labelBackground 设置属性; - -v1.0: -- 全新发布; - +``` \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index c1760e5..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 28 - defaultConfig { - applicationId "com.kongzue.stacklabel" - minSdkVersion 20 - targetSdkVersion 28 - versionCode 3 - versionName "1.1.2" - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } -} - -dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation project(':stacklabelview') -} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro deleted file mode 100644 index f1b4245..0000000 --- a/app/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml deleted file mode 100644 index 13daf1d..0000000 --- a/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/kongzue/stacklabel/MainActivity.java b/app/src/main/java/com/kongzue/stacklabel/MainActivity.java deleted file mode 100644 index 94da544..0000000 --- a/app/src/main/java/com/kongzue/stacklabel/MainActivity.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.kongzue.stacklabel; - -import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; -import android.text.Editable; -import android.text.TextWatcher; -import android.util.Log; -import android.view.View; -import android.widget.Button; -import android.widget.CompoundButton; -import android.widget.EditText; -import android.widget.Switch; -import android.widget.Toast; - -import com.kongzue.stacklabelview.StackLabel; -import com.kongzue.stacklabelview.interfaces.OnLabelClickListener; - -import java.util.ArrayList; -import java.util.List; - -public class MainActivity extends AppCompatActivity { - - private StackLabel stackLabelView; - private Switch switchDelete; - private EditText editMaxNum; - private Switch switchSelect; - private EditText editAdd; - private Button btnAdd; - - private List labels = new ArrayList<>(); - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - stackLabelView = findViewById(R.id.stackLabelView); - switchDelete = findViewById(R.id.switchDelete); - editMaxNum = findViewById(R.id.edit_maxNum); - switchSelect = findViewById(R.id.switchSelect); - editAdd = findViewById(R.id.edit_add); - btnAdd = findViewById(R.id.btn_add); - - labels = new ArrayList<>(); - labels.add("花哪儿记账"); - labels.add("给未来写封信"); - labels.add("密码键盘"); - labels.add("抬手唤醒"); - labels.add("Cutisan"); - labels.add("记-专注创作"); - labels.add("我也不知道我是谁"); - labels.add("崩崩崩"); - labels.add("Android"); - labels.add("开发"); - - stackLabelView.setLabels(labels); - - stackLabelView.setOnLabelClickListener(new OnLabelClickListener() { - @Override - public void onClick(int index, View v, String s) { - if (switchDelete.isChecked()) { - labels.remove(index); - stackLabelView.setLabels(labels); - } else { - Toast.makeText(MainActivity.this, "点击了:" + s, Toast.LENGTH_SHORT).show(); - if (stackLabelView.isSelectMode()) { - for (int i : stackLabelView.getSelectIndexList()) { - Log.i(">>>", "select: " + i); - } - } - } - } - }); - - switchDelete.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - stackLabelView.setDeleteButton(isChecked); - } - }); - - switchSelect.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - - List selectLabels = new ArrayList<>(); - selectLabels.add("Android"); - selectLabels.add("Cutisan"); - selectLabels.add("密码键盘"); - stackLabelView.setSelectMode(isChecked, selectLabels); - } - }); - - editMaxNum.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - String str = editMaxNum.getText().toString(); - if (str != null && !str.isEmpty()) { - stackLabelView.setMaxSelectNum(Integer.parseInt(str)); - } else { - stackLabelView.setMaxSelectNum(0); - } - } - }); - - btnAdd.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String s = editAdd.getText().toString().trim(); - if (s != null && !s.isEmpty()) { - labels.add(s); - stackLabelView.setLabels(labels); - } - } - }); - } -} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 1f6bb29..0000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 0d025f9..0000000 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index a8e537e..0000000 --- a/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - -