本文概述
- 10. Snackalert
- 9. MySnack
- 8. FluentSnackbar
- 7. MrEngineer13的SnackBar
- 6. Snackbar by nispok
- 5. LGSnackbar
- 4. Flashbar
- 3. ChocoBar
- 2. SnackProgressbar
- 1. Snacky
尽管大多数Snack库都已过时, 但支持包含Snackbar的新设计支持库。由于这个原因, 不再积极维护许多库的开发, 但是它们的工作相当不错(还有其他项目仍在维护中)!如果你正在寻找建议使用哪个第三方库在Android中实现自定义小吃店的建议, 那么你来对地方了。
在此顶部, 我们将与你分享10个最不重要的库, 以构建自定义/默认小吃栏消息, 以显示在本机android应用程序中。
10. Snackalert
Snackalert是一个非常简单的库, 可让你在上下文中显示彩色的小吃店。它可以轻松使用:
SnackAlert.success(view, "success");
SnackAlert.error(view, "error");
SnackAlert.info(view, "info");
SnackAlert.custom(view, "custom", Color.RED, Color.BLUE);
SnackAlert.longSuccess(view, "long success");
SnackAlert.longError(view, "long error");
SnackAlert.longInfo(view, "long info");
SnackAlert.longCustom(view, "long custom", Color.RED, Color.BLUE);
9. MySnack
MySnack是Snackbar的一个非常用户友好的库, 你可以根据自己的需求轻松自定义此库。 MySnack只需添加一行代码即可提供添加文本颜色, 背景色, 字体大小, 显示持续时间, 侦听器以及更多其他功能。将库添加到你的应用程序级构建文件, 然后添加jitpack存储库。安装后, 该库将允许你显示具有可自定义属性的小吃:
new MySnack.SnackBuilder(this)
.setText("Are you sure?")
.setTextColor("#ffffff") //optional
.setTextSize(20) //optional
.setBgColor("#2196F3") //optional
.setDurationInSeconds(10) //will display for 10 seconds
.setActionBtnColor("#f44336") //optional
.setIcon(Icon.WARNING)
//or .setIcon(R.drawable.ic_info_black_24dp)
.setActionListener("Ok", new View.OnClickListener() { //optional
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_LONG).show();
}
})
.build();
8. FluentSnackbar
FluentSnackbar是一个很小的库, 它使用Android设计支持库, 可让你流畅地创建和显示小吃店。除了它包含队列功能。
// you can also use any View instead of Activity
FluentSnackbar mFluentSnackbar = FluentSnackbar.create(this);
mFluentSnackbar.create("Text")
.maxLines(2) // default is 1 line
.backgroundColorRes(R.color.purple_500) // default is #323232
.textColorRes(R.color.blue_grey_500) // default is Color.WHITE
.duration(Snackbar.LENGTH_SHORT) // default is Snackbar.LENGTH_LONG
.actionText("Action text") // default is "Action"
.actionTextColorRes(R.color.colorAccent)
.important()
.action(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Action clicked", Toast.LENGTH_SHORT).show();
}
})
.show();
如果要一一显示几个消息, 可以使用Important()方法。这样的小吃店不能被其他小吃店开除, 并且会在整个使用过程中显示。因此, 你可以创建小吃店队列。只需为每个FluentSnackbar.Builder调用Important()然后显示()。
7. MrEngineer13的SnackBar
该库可让你显示受Google Material Design规范启发的类似Toast的Android警报模式。该库具有:
- 设置消息文本和持续时间
- 一次仅显示一条消息
- 可以有操作项(例如, 撤消, 刷新等)
- 设定动作项目的文字颜色
- 向下滑动以根据文档消除所有通知
- 向后兼容2.3.x
1.0.0以来的新功能:
- 设置自定义背景色
- 设置自定义高度
- 设置自定义字体
以下代码段允许你显示小吃栏:
new SnackBar.Builder(this)
.withOnClickListener(this)
.withMessage("This library is awesome!") // OR
.withMessageId(messageId)
.withTypeFace(myAwesomeTypeFace)
.withActionMessage("Action") // OR
.withActionMessageId(actionMsgId)
.withTextColorId(textColorId)
.withBackGroundColorId(bgColorId)
.withVisibilityChangeListener(this)
.withStyle(style)
.withDuration(duration)
.show();
6. Snackbar by nispok
该库实现了Google的Material Design文档中的Snackbars。在> = 8的API级别上工作。你可以从源代码中以模块形式导入库, 也可以通过Gradle抓取, 并且可以显示如下所示的小吃店:
Snackbar.with(getApplicationContext()) // context
.text("Single-line snackbar") // text to display
.show(this); // activity where it is displayed
5. LGSnackbar
LGSnackbar是本机Android Snackbar的易于使用且可自定义的包装, 可在多个活动中保持可见。它提供了不同的主题, 并允许你轻松管理常见的情况, 例如成功, 警告, 错误和信息。
4. Flashbar
高度可定制, 功能强大且易于使用的Android警报库。该库可让你快速轻松地在应用程序中显示消息或警报。它可以用作Snackbar或Toast的替代品, 并提供许多有用的功能和自定义选项供你使用。它已在Kotlin中100%写成。
Flashbar.Builder(this)
.gravity(Flashbar.Gravity.TOP)
.title("Hello World!")
.message("You can have gradients by setting background drawable.")
.backgroundDrawable(R.drawable.bg_gradient)
.build()
3. ChocoBar
普通的小吃店, 有更多的巧克力和颜色。你甚至可以添加按钮并向按钮添加一些功能, 并使ChocoBar停留到用户将其滑开为止, 或者使其在超时后消失。
每个方法总是返回一个Snackbar对象, 因此你可以自定义Snackbar等等。要显示绿色的ChocoBar:
ChocoBar.builder().setActivity(MainActivity.this)
.setText("GREEN")
.setDuration(ChocoBar.LENGTH_SHORT)
.green() // in built green ChocoBar
.show();
2. SnackProgressbar
带有Android的ProgressBar的增强型Snackbar。它具有以下特点:
- 有两种类型的ProgressBar(TYPE_HORIZONTAL和TYPE_CIRULAR)可用(请参见下图)。它也可以用作普通的SnackBar。
- 支持多行消息。
- 根据材料设计, 通过将其移至下一行来支持长动作文本。
- 即使不提供CoordinatorLayout, 也支持滑动以消除行为。 (或者你可以为CoordinatorLayout删除此行为)
- 可以添加其他视图以使用SnackProgressBar设置动画。
- 提供OverlayLayout以防止用户输入。
- 提供队列系统。
- 可以添加图标。
- 支持SnackProgressBar中的包来携带信息。
- 支持更改元素颜色和文本大小。
1. Snacky
Snacky是一个小型库, 可帮助你轻松地在布局中添加Snackbar。它是根据我自己的需要创建的, 并且受到Toasty的启发。 Snacky使用简单的构建器模式来构建Snackbar, 并为你提供一些模板设计, 例如ERROR, WARNING, INFO和SUCCESS以及一些自定义选项。从1.1.4版开始, Snacky仅与androidX兼容, 而不再与支持库应用程序兼容!有关示例列表, 请参见ExampleActivity.java, 如屏幕截图所示。
如果你知道在本地android应用程序中实现小吃店的另一种很棒的开源替代方案, 请在注释框中与社区共享该库。