# KSnack **Repository Path**: chinasoft5_ohos/KSnack ## Basic Information - **Project Name**: KSnack - **Description**: 可自定义的snackbar消息 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-17 - **Last Updated**: 2021-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KSnack #### 项目介绍 - 项目名称:KSnack - 所属系列:openharmony的第三方组件适配移植 - 功能:可自定义的snackbar消息 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio2.2 beta2 - 基线版本:Release v1.1.2 #### 演示效果 ![](img/demo.gif) #### 安装教程 1.在项目根目录下的 `build.gradle` 文件中, ``` // 添加maven仓库 repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } ``` 2.在entry模块的 `build.gradle` 文件中, ``` // 添加依赖库 dependencies { implementation 'com.gitee.chinasoft_ohos:KSnack:1.0.0' } ``` 在sdk6,DevEco Studio2.2 beta2下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 Minimal KSnack 1. 初始化 Minimal KSnack. ```java MinimalKSnack minimalKSnack = new MinimalKSnack(MainActivity.this); ``` 2. Set Features. Styles; *`STYLE_DEFAULT`, `STYLE_INFO`, `STYLE_SUCCESS`, `STYLE_ERROR`, `STYLE_WARNING`* ```java minimalKSnack .setMessage("This is minimal KSnack !") // message .setStyle(MinimalKSnackStyle.STYLE_SUCCESS) // style .setBackgroundColor(R.color.colorGray) // background color .setBackgrounDrawable(R.drawable.background_ex_one) // background drawable .setAnimation(Fade.In.getAnimation(), Fade.Out.getAnimation()) // show and hide animations .setDuration(4000) // you can use for auto close. .alignBottom() // bottom align option. .show(); ``` 3. Close Minimal KSnack. ```java minimalKSnack.dismiss(); ``` KSnack 1. 初始化KSnack. ```java KSnack kSnack = new KSnack(MainActivity.this); ``` 2. Set Features. ```java kSnack .setListener(new KSnackBarEventListener() { // listener @Override public void showedSnackBar() { System.out.println("Showed"); } @Override public void stoppedSnackBar() { System.out.println("Stopped"); } }) .setAction("Text", new View.OnClickListener() { // name and clicklistener @Override public void onClick(View v) { System.out.println("Your action !"); } }) .setMessage("Your message.") // message .setTextColor(R.color.white) // message text color .setBackColor(R.color.colorGray) // background color .setButtonTextColor(R.color.white) // action button text color .setBackgrounDrawable(R.drawable.background_ex_one) // background drawable .setAnimation(Slide.Up.getAnimation(kSnack.getSnackView()), Slide.Down.getAnimation(kSnack.getSnackView())) .setDuration(4000) // you can use for auto close. .show(); ``` 3. Close Minimal KSnack. ```java kSnack.dismiss(); ``` Animations 1. Fade ```java kSnack.setAnimation(Fade.In.getAnimation(), Fade.Out.getAnimation()) // show and hide animations ``` 2. Slide ```java minimalKSnack.setAnimation(Slide.Down.getAnimation(minimalKSnack.getSnackView()), Slide.Up.getAnimation(minimalKSnack.getSnackView())) ``` Slide animations need KSnack or MinimalKSnack view. You should use ```getSnackView()``` or ```getMinimalSnackView()``` functions for correct view object. #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 版本迭代 - 1.0.0 #### 版权和许可信息 [Apache License, Version 2.0](LICENSE)