![](https://s5-media.51cto.com/ost/pc/static/noavatar.gif)
回复
本项目是基于开源项目SnackBar进行鸿蒙化的移植和开发的,可以通过项目标签以及github地址( https://github.com/MrEngineer13/SnackBar )追踪到原安卓项目版本
下载SnackBar jar包snackbar.jar。
启动 DevEco Studio,将下载的jar包,导入工程目录“entry->libs”下。
在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下jar包的引用。
在sdk5,DevEco Studio2.1 beta3下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
1、对布局进行初始化
ability = this;
context = this;
com.github.mrengineer13.snackbar.SnackBar.OnMessageClickListener messageClickListener = this;
2、添加snackbar触发按钮
btn.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
......
}
});
3、添加snackbar消息弹框
mSnackBar = new SnackBar.Builder(ability,component1)
4、自定义弹框信息和样式
.withOnClickListener(messageClickListener) // 弹框按钮点击效果
.withMessage(message) // 弹框文本信息
.withActionMessage(btnMessage) // 弹框按钮文本信息
.withStyle(Color.GREEN.getValue()) // 弹框文本信息颜色设置
.withBackgroundColorId(Color.RED.getValue())// 弹框按钮颜色设置
.withDuration(duration) // 弹框持续时间设置
.show(); // 显示弹框
5、弹框点击效果设置
@Override
public void onMessageClick(Sequenceable token) {
ToastDialog toastDialog = new ToastDialog(this);
toastDialog.setText("Button clicked!");
toastDialog.setAlignment(LayoutAlignment.BOTTOM);
toastDialog.show();
}
CodeCheck代码测试无异常 VirusTotal病毒安全检测通过 当前版本demo功能与安卓原组件基本无差异 测试员:黎天宁