1 Star 2 Fork 0

CHINASOFT5_OHOS / EmojiRain

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.73 KB
一键复制 编辑 原始数据 按行查看 历史
lurijian 提交于 2021-09-23 16:34 . 发布正式版

Emoji Rain

项目介绍

  • 项目名称:EmojiRain
  • 所属系列:openharmony第三方组件适配移植
  • 功能:仿微信表情雨
  • 项目移植状态:主功能完成
  • 调用差异:无
  • 开发版本:sdk6,DevEco Studio2.2 Beta1
  • 基线版本:v0.1.1

效果演示

emojirain

安装教程

在moudle级别下的build.gradle文件中添加依赖

// 添加maven仓库
repositories {
   maven {
       url 'https://s01.oss.sonatype.org/content/repositories/releases/'
   }
}

// 添加依赖库
dependencies {
   implementation 'com.gitee.chinasoft_ohos:EmojiRain:1.0.0' 
}

在sdk6,DevEco Studio2.2 beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下

使用说明

参数配置

  • per
    • 每一波掉落的emoji个数,默认6个
  • duration
    • 掉落动画持续的总时长,默认8000ms
  • dropDuration
    • 每个emoji掉落时长的平均值,默认2400ms
  • dropFrequency
    • 掉落频率,即每两拨的时间间隔,默认500ms

在layout中配置。 EmojiRainLayout继承自StackLayout,你完全可以把它当做原生的StackLayout使用。

<com.luolc.emojirain.EmojiRainLayout
   xmlns:ohos="http://schemas.huawei.com/res/ohos"
   xmlns:app="http://schemas.huawei.com/res/ohos-auto"
   ohos:height="match_parent"
   ohos:width="match_parent"
   app:dropDuration="2400"
   app:dropFrequency="500"
   app:duration="7200"
   app:per="10">

   <Text
       ohos:height="match_content"
       ohos:width="match_content"
       ohos:text="Hello world!" />

</com.luolc.emojirain.EmojiRainLayout>
public class MainAbilitySlice extends AbilitySlice {

    private EmojiRainLayout mContainer;

    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        // bind view
        mContainer = (EmojiRainLayout) findComponentById(ResourceTable.Id_group_emoji_container);

        // add emoji sources
        mContainer.addEmoji(ResourceTable.Media_emoji_1_3);
        mContainer.addEmoji(ResourceTable.Media_emoji_2_3);
        mContainer.addEmoji(ResourceTable.Media_emoji_3_3);
        mContainer.addEmoji(ResourceTable.Media_emoji_4_3);
        mContainer.addEmoji(ResourceTable.Media_emoji_5_3);

        // set emojis per flow, default 6
        mContainer.setPer(10);

        // set total duration in milliseconds, default 8000
        mContainer.setDuration(7200);

        // set average drop duration in milliseconds, default 2400
        mContainer.setDropDuration(2400);

        // set drop frequency in milliseconds, default 500
        mContainer.setDropFrequency(500);
    }
}

开始掉落。

mContainer.startDropping();

停止掉落。

mContainer.stopDropping();

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

  • 1.0.0

版权和许可信息

Copyright 2016, Liangchen Luo.

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.
Java
1
https://gitee.com/chinasoft5_ohos/EmojiRain.git
git@gitee.com:chinasoft5_ohos/EmojiRain.git
chinasoft5_ohos
EmojiRain
EmojiRain
master

搜索帮助