浅谈SnackBar(Toast大兄弟)

简介: SnackBar是 Android Support Library 22.2.1 里面新增提供的一个控件,我们可以简单的把它理解成一个加强版的Toast,或者是一个轻量级的Dialog。 特点:1.SnackBar和Toast的用途一样,都是用来提示用户操作后的结果的。

SnackBar是 Android Support Library 22.2.1 里面新增提供的一个控件,我们可以简单的把它理解成一个加强版的Toast,或者是一个轻量级的Dialog。

 

特点:

1.SnackBar和Toast的用途一样,都是用来提示用户操作后的结果的。

2.SnackBar显示时位置一般是在屏幕底部,较大的设备就显示在左下角。

3.SnackBar同一时间只有一条

4.SnackBar可以自动消失,也可以手动取消(在完成某个操作的时候)

5.在Activity结束的时候,SnackBar会消失,这点Toast不会   (避免Toast那样 退出Activity了,Toast还继续显示的问题)

6.SncakBar能支持侧滑

 

 

看一下SnackBar的使用方法:

三个参数:View ,内容文本,显示时长

 
public static Snackbar make(View view, CharSequence text, int duration) { Snackbar snackbar = new Snackbar(findSuitableParent(view)); snackbar.setText(text); snackbar.setDuration(duration); return snackbar; }

 

和Toast的使用类似

Toast的三个参数:上下文,内容文本,显示时长

Toast.makeText(this,"Toast内容",Toast.LENGTH_SHORT).show();

 

 

可以看出,SnackBar的显示需要依赖于一个View。

 

另外SnackBar的显示时长的设置值可以为:

Snackbar.LENGTH_SHORT// 短时间显示,然后自动取消
Snackbar.LENGTH_LONG// 长时间显示,然后自动取消
Snackbar.LENGTH_INDEFINITE// 不消失显示,除非手动取消

 

 

看一下简单的使用

xml文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    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">


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="16dp"
        android:src="@mipmap/icon_add" />

</android.support.design.widget.CoordinatorLayout>

 

Activity

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view,"这是Snackbar控件显示的内容",Snackbar.LENGTH_SHORT).show();
}
});
}
}

 

 显示前:

显示后:

 

相关文章
|
容器
Fragment——底部导航栏的实现
本节开始我们会讲解一些Fragment在实际开发中的一些实例!而本节给大家讲解的是底部导航栏的实现!而基本的底部导航栏方法有很多种,比如全用TextView做,或者用RadioButton,又或者使用TabLayout + RadioButton,当然复杂的情况还是得走外层套布局的方法!本节我们用TextView来做一个底部导航栏的效果,也熟悉下Fragment的使用!
119 0
|
XML Java 数据格式
Fragment底部导航栏
一个页面以微信为例,从上到下依次是状态栏,Activity顶部导航栏,Fragment,Activity底部导航栏。 每点击一个底部导航栏都会replace另一个Fragment。
77 0
|
Android开发 容器
View 的事件分发机制
View 的事件分发机制
View 的事件分发机制
|
Android开发 容器
深入了解View的滑动冲突
在《与滑动冲突的首次邂逅》一文中,笔者举了一个开发过程中出现的一个简单的滑动冲突问题,带大家直观的了解何为滑动冲突,并且使用了内部拦截法(内部解决法)来解决了这个滑动冲突。
深入了解View的滑动冲突
|
Android开发
Android 取消 ExpandableListView 的分割线,解决ScrollView 嵌套 ExpandableListView的问题
Android 取消 ExpandableListView 的分割线,解决ScrollView 嵌套 ExpandableListView的问题
Material Design 实战 之第三弹—— 悬浮按钮和可交互提示(FloatingActionButton & Snackbar & CoordinatorLayout)
Material Design 实战 之第三弹—— 悬浮按钮和可交互提示(FloatingActionButton & Snackbar & CoordinatorLayout)
|
API Android开发
ListView或GridView上添加能一起滚动的Button效果的解决思路
ListView或GridView上添加能一起滚动的Button效果的解决思路
|
前端开发
scroll-view实现不了滑动效果
scroll-view实现不了滑动效果
273 0
CoordinatorLayout + AppBarLayout 实现标题栏置顶
CoordinatorLayout + AppBarLayout 实现标题栏置顶

热门文章

最新文章