FancyView-HarmonyOS
This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2022-03-06 19:33:37 +08:00
.idea add fancynew finished 2022-03-06 19:33:37 +08:00
Demo add fancynew finished 2022-03-06 19:33:37 +08:00
fancynew add fancynew finished 2022-03-06 19:33:37 +08:00
gradle/wrapper add fancynew finished 2022-03-06 19:33:37 +08:00
.gitignore add fancynew finished 2022-03-06 19:33:37 +08:00
build.gradle add fancynew finished 2022-03-06 19:33:37 +08:00
gradle.properties add fancynew finished 2022-03-06 19:33:37 +08:00
gradlew add fancynew finished 2022-03-06 19:33:37 +08:00
gradlew.bat add fancynew finished 2022-03-06 19:33:37 +08:00
LICENSE add fancynew finished 2022-03-06 19:33:37 +08:00
package.json add fancynew finished 2022-03-06 19:33:37 +08:00
README.md add fancynew finished 2022-03-06 19:33:37 +08:00
settings.gradle add fancynew finished 2022-03-06 19:33:37 +08:00

FancyNew

本项目是基于开源项目FancyView进行ohos化的移植和改进的可以通过Github地址 https://github.com/wongzy/FancyView )追踪到原项目版本

项目介绍

  • 项目名称FancyNew
  • 所属系列ohos的第三方组件适配移植
  • 功能:应用打开动画
  • 项目移植状态:完成
  • 调用差异:新增、更改部分语法,详见下方介绍
  • 项目作者和维护人:田梓萱
  • 联系方式xcl@xuegao-tzx.top
  • 原项目Doc地址https://github.com/wongzy/FancyView
  • 原项目基线版本无release版本
  • 编程语言Java
  • 外部库依赖:无

功能介绍与差异:

  1. 支持自动根据设备状态改变背景颜色[默认]
  2. 支持用户自定义显示数据项[全显示(默认)、只显示图标、只显示图标和APP名字]
  3. 兼容API5和6支持开箱即用
  4. 由于鸿蒙不提供获取APP名字途径故不显示APP包名需要手动调用进行设置详见Demo示例
  5. 设置动画图标有2种写法详见Demo示例

安装教程

方案一:
  1. 下载依赖库 FancyNew.har。
  2. 启动 DevEco Studio将编译的har包导入工程目录“entry->libs”下。
  3. 在moudle级别下的build.gradle文件中添加依赖在dependences标签中增加对libs目录下har包的引用。
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
	……
}

4.在导入的har包上点击右键选择“Add as Library”对包进行引用选择需要引用的模块并点击“OK”即引用成功。

方案二:
  1. 克隆本仓库到本地
  2. 启动 DevEco Studio左上角点击文件-新建-导入模块
  3. 在应用模块的build.gradle的dependencies闭包中添加如下代码:
 dependencies {
     implementation project(':fancynew')
 }

使用说明

1、使用方法

OpeningStartAnimation openingStartAnimation =  new OpeningStartAnimation.Builder(this,ResourceTable.Media_icon,1)//设置图标`ResourceTable.Media_icon`以及要显示的模块数量`1`[模块数量可不填(默认全部显示)]
		.setDrawStategy(new NormalDrawStrategy())//设置动画效果
		.setAppIcon(getPixelMapFromResource(ResourceTable.Media_icon))//设置动画图标
		.setAppName("测试APP")//设置APP名字
		.setColorOfBackground(Color.rgb(255,0,0))//设置背景颜色
		.setColorOfAppIcon(Color.rgb(255,0,0))//设置图标圈线的颜色
		.setColorOfAppName(Color.rgb(0,237,255))//设置APP名字颜色
		.setColorOfAppStatement(Color.rgb(68,255,0))//设置下方一句话的颜色
		.create();
		openingStartAnimation.show(this);

2、除此之外还可以设置文字、图标、一句话描述、动画时间等等也可以自定义应用打开动画开放了策略接口像这样。

OpeningStartAnimation openingStartAnimation =  new OpeningStartAnimation.Builder(this,ResourceTable.Media_icon,1)
		.setDrawStategy(new DrawStrategy() {
			@Override
			public void drawAppName(Canvas canvas, float fraction, String name, int colorOfAppName, WidthAndHeightOfView widthAndHeightOfView) {

			}

			@Override
			public void drawAppIcon(Canvas canvas, float fraction, PixelMap icon, int colorOfIcon, WidthAndHeightOfView widthAndHeightOfView) {

			}

			@Override
			public void drawAppStatement(Canvas canvas, float fraction, String statement, int colorOfStatement, WidthAndHeightOfView widthAndHeightOfView) {

			}
		})
		.create();

混淆相关

  1. fancynew的包不建议单独混淆如确实需要混淆请务必保留类名加入代码如下:
-dontwarn com.xcl.fancynew.**
-keep class com.xcl.fancynew.** { *; }
  1. 整体项目中混淆无要求,你随意

版权和许可信息

  • Apache Licence