zoukankan      html  css  js  c++  java
  • 浅谈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();
    }
    });
    }
    }

     

     显示前:

    显示后:

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    codevs 2977 二叉堆练习1x
    codevs 2010 求后序遍历x
    二叉树的序遍历x(内含结构体与非结构体版x)
    医院设置x
    求后序遍历x
    [LightOJ1017]Brush (III)(dp)
  • 原文地址:https://www.cnblogs.com/xqxacm/p/8602402.html
Copyright © 2011-2022 走看看