Android 构建和显示弹出消息 CoordinatorLayout+Snackbar
来源:互联网 发布:什么软件可以看舰娘 编辑:程序博客网 时间:2024/06/05 00:36
构建和显示弹出消息
您可以使用Snackbar向用户显示简短的消息。 消息在短时间内自动消失。 Snackbar是用户不一定需要采取行动的简短信息的理想选择。 例如,电子邮件应用程序可以使用Snackbar来告诉用户应用程序已成功发送电子邮件
使用CoordinatorLayout
一个Snackbar附在一个视图上。 如果Snackbar附加到从View类派生的任何对象(例如任何常见的布局对象)中,Snackbar将提供基本功能。 但是,如果Snackbar连接到CoordinatorLayout,Snackbar将获得其他功能:
1.用户可以通过将Snackbar滑开来取消它。
2.当Snackbar出现时,布局会移动其他一些UI元素。 例如,如果布局具有FloatingActionButton,布局会在显示Snackbar时将按钮向上移动,而不是在按钮顶部绘制Snackbar。 你可以看到如图1所示。
图1
CoordinatorLayout类提供了FrameLayout功能的超集。 如果您的应用程序已经使用了FrameLayout,则可以使用CoordinatorLayout替换该布局,以启用完整的Snackbar功能。 如果您的应用程序使用其他布局对象,最简单的方法是将现有的布局元素包装在CoordinatorLayout中,如下例所示:
<android.support.design.widget.CoordinatorLayout android:id="@+id/myCoordinatorLayout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Here are the existing layout elements, now wrapped in a CoordinatorLayout --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- …Toolbar, other layouts, other elements… --> </LinearLayout></android.support.design.widget.CoordinatorLayout>
确保为您的CoordinatorLayout设置一个android:id标签。 显示消息时,需要布局ID。
Display a Message
显示消息有两个步骤。 首先,您创建一个带有消息文本的Snackbar对象。 然后,您调用该对象的show()方法向用户显示消息
创建一个Snackbar对象
通过调用静态Snackbar.make()方法创建一个Snackbar对象。 创建Snackbar时,您同时指定显示的消息以及显示消息的时间长度:
Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
参数:
view 将Snackbar附加到的视图。 该方法实际上从传递的视图中搜索视图层次结构,直到达到CoordinatorLayout或窗口装饰的内容视图。 通常,通过封闭内容的CoordinatorLayout是最简单的。
StringID 要显示的消息的资源ID。 这可以被格式化或未格式化的文本。
duration 显示消息的时间长短。 这可以是LENGTH_SHORT或LENGTH_LONG
向用户显示消息
创建Snackbar后,调用其show()方法向用户显示Snackbar:
mySnackbar.show();
系统不会同时显示多个Snackbar对象,因此如果该视图当前正在显示另一个Snackbar,则系统会将您的Snackbar排队,并在当前Snackbar过期或关闭之后显示该Snackbar对象。
如果您只想向用户显示消息,并且不需要调用任何Snackbar对象的实用程序方法,则在调用show()之后,不需要保留对Snackbar的引用。 因此,通常使用方法链在一个语句中创建和显示Snackbar:
Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT) .show();
阅读全文
0 0
- Android 构建和显示弹出消息 CoordinatorLayout+Snackbar
- Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
- Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
- Android开发--FloatingActionButton/Snackbar/CoordinatorLayout
- android——Snackbar+CoordinatorLayout替代Toast
- Android开发 之 CoordinatorLayout+Snackbar+FAB
- Snackbar -—— 显示弹出信息
- android新特性:CoordinatorLayout与FloatingActionButton、Snackbar的使用
- SnackBar--FloatingActionButton--CoordinatorLayout
- Snackbar、CoordinatorLayout、CardView、AppBarLayout
- CoordinatorLayout 、FloatingActionButton 、Snackbar、DrawerLayout和NavigationView结合使用demo
- android 从顶部弹出的SnackBar
- 弹出消息的新方式——Snackbar
- 可顶部和底部显示的Snackbar
- Android 初识AppBarLayout 和 CoordinatorLayout
- Android控件CoordinatorLayout和TabLayout
- CoordinatorLayout与SnackBar的简单使用
- android.support.design库组件(CoordinatorLayout和CoordinatorLayout.Behavior)
- 15. 3Sum
- cJSON array
- ef4.0写法
- 汉诺塔的递归解法
- bcb6 获取系统文件夹路径
- Android 构建和显示弹出消息 CoordinatorLayout+Snackbar
- Activity(不同APP)启动之源码分析
- ThreadPoolExecutor逻辑结构和工作方式
- 面向对象概述
- 漫谈操作系统10 -- 调度器
- TOJ 4171 L-The math problem(水题)
- c#如何监视文件或者文件夹的变化
- Legal or Not(拓扑排序)
- HDU-1506 Largest Rectangle in a Histogram(单调栈)