Android UI Material Design交互设计(三)--SnackBar 详解

Material Design 交互设计在Android上的应用,Design Support Library 是在2015年
Google官方发布的一个全新兼容函数库,它使得开发这可以在Android2.1(API
7)及以上的设备中实现交互设计的效果。这个函数库提供了一些了的控件,主要包括:Snackbar
、NavigationView、FloatingActionButton、TextInputLayout、TabLayout、CollapsingToolbarLayout、AppBarLayout、CoordinatorLayout

Android UI Material Design交互设计(一)–BottomNavigationView底部菜单
Android UI Material Design交互设计(二)–Toolbar的基本使用与样式修改
Android UI Material Design交互设计(三)–SnackBar 详解
Android UI Material Design交互设计(四)–AppBarLayout 与Toolbar结合
Android UI Material Design交互设计(五)–CollapsingToolbarLayout 折叠布局
Android UI Material Design交互设计(六)–CoordinatorLayout之精髓Behavior 自定义Behavior

在使用Design Support Library之前,首先需要添加如下依赖

implementation 'com.android.support:design:28.0.0'

SnackBar

SnackBar 是带有动画效果的快速提示栏,它显示在屏幕的底部,是用来替代Toast的一个全新控件,和Toast最大的不同是SnackBar可以带有按钮。当SnackBar显示时,用户可以点击按钮执行对应的操作。Snackbar支持滑动消失,如果用户没有任何操作,Snackbar
在到达指定时间之后就会自动消失。Snackbar的使用很简单,

Snackbar.make(view, "snack action ", 1000)//view 这里的view一般是触发Snackbar显示的view。或者是不让Snackbar遮住的view
                .setAction("Toast", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getActivity(), " to do ", Toast.LENGTH_SHORT).show();
                    }
                }).show();

效果如下:
Snackbar显示效果
注意:⚠️如果Snackbar.make(view, "snack action ", 1000) 这里面view的父布局是CoordinatorLayout的话,
显示是以CoordinatorLayout布局为准来显示,效果如下:
Snackbar在CoordinatorLayout显示效果
Snackbar还可以改变里面按钮颜色与提示内容文字的颜色代码如下:

Snackbar sb = Snackbar.make(view, "snack action ", 1000)
                .setActionTextColor(Color.YELLOW)
                .setAction("Toast", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getActivity(), " to do ", Toast.LENGTH_SHORT).show();
                    }
                });
        TextView tv = sb.getView().findViewById(R.id.snackbar_text);
        tv.setTextColor(Color.YELLOW);
        tv.setText("我是提示信息小米乐");
        sb.show();

效果如下:
在这里插入图片描述
最后还可以改变背景颜色代码如下:

Snackbar sb = Snackbar.make(view, "snack action ", 1000);
        View view = sb.getView();
        view.setBackgroundColor(Color.RED);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值