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

本文介绍了Android中SnackBar控件的使用,它是android.support.design库中的组件,类似Toast但带有Action,支持用户交互。文章详细讲解了SnackBar的引入、使用方法,包括如何创建带Action的SnackBar,并提到了SnackBar应配合CoordinatorLayout使用以获得最佳效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>

展示截图一张

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值