Android开发笔记:类似Toast的提示控件:SnackBar

来源:互联网 发布:手机淘宝旧版本5.8 编辑:程序博客网 时间:2024/06/12 20:03

SnackBar介绍

  • SnackBar是 android.support.design依赖包中的控件,使用前需引入该包。
  • SnackBar类似Toast,具有提醒功能,不影响界面交互,提示之后可以自动消失,不同的是,SnackBar加入了Action,实现了与用户的交互。使用时不仅可以滑动取消,还可以点击取消。

使用方式

实现方式很简单,也和Toast类似:

  • 如果不需要添加Action,可直接使用弹出Toast的方式:
Snackbar.make(layout,"这是一个snackBar",Snackbar.LENGTH_LONG).show();
  • 当然也可以添加个可以点击的Action,并添加点击事件
// coordinalayout为对应布局中,展示SnackBar的父布局Snackbar snackbar = Snackbar.make(coordinatorLayout,"这是一个snackBar",Snackbar.LENGTH_LONG);snackbar.setAction("确定", new View.OnClickListener() {    @Override    public void onClick(View v) {        Log.i(TAG, "onClick: ");    }});snackbar.setActionTextColor(Color.BLUE);snackbar.show();


  • SnackBar的父布局为CoordinatorLayout,
  • 谷歌还是推荐使用CoorlinatorLayout,这样可以保证SnackBar可以平滑关闭等等。当然此SnackBar的父布局也可以使用其他类型包括RelativeLayout和LinearLayout等,但是此时便不可以右滑动关闭等。
  • 官方文档说明

Having a CoordinatorLayout in your view hierarchy allows Snackbar to enable certain features, such as swipe-to-dismiss and automatically moving of widgets like FloatingActionButton.

布局代码

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <RelativeLayout        android:id="@+id/ll_remark"        android:layout_width="match_parent"        android:layout_height="match_parent"        >        <android.support.design.widget.CoordinatorLayout            android:id="@+id/coord"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_alignParentBottom="true">     </android.support.design.widget.CoordinatorLayout>    </RelativeLayout></LinearLayout>

展示截图一张

这里写图片描述

阅读全文
0 0