博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义SnackBar
阅读量:6578 次
发布时间:2019-06-24

本文共 1244 字,大约阅读时间需要 4 分钟。

前言

我浏览material.io网站时,从所谓的“Material Design 2”中找到一些新的组件,并发现Snackbar已经改变了,它不再占用整个屏幕长度,并且周围会有一个间距。

但我并没有从Support Library的alpha版本中找到它,所以我决定自己实现一下。

1、创建Drawable文件

复制代码

2、创建工具类

public class SnackbarHelper {    public static void config(Context context, Snackbar snack) {        addMargins(snack);        setRoundBordersBg(context, snack);        ViewCompat.setElevation(snack.getView(), 6f);    }    private static void addMargins(Snackbar snack) {        ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) snack.getView().getLayoutParams();        params.setMargins(12, 12, 12, 12);        snack.getView().setLayoutParams(params);    }    private static void setRoundBordersBg(Context context, Snackbar snackbar) {        snackbar.getView().setBackground(context.getResources().getDrawable(R.drawable.bg_snackbar));    }}复制代码

3、使用

public void showSnackbar(View view) {    Snackbar snackbar = Snackbar.make(view, "这个一个snackbar", Snackbar.LENGTH_SHORT);    snackbar.setAction("ok", new View.OnClickListener() {        @Override        public void onClick(View v) {        }    });    snackbar.setActionTextColor(Color.RED);    SnackbarHelper.config(MainActivity.this, snackbar);    snackbar.show();}复制代码

4、展示

转载地址:http://jvfno.baihongyu.com/

你可能感兴趣的文章
语言的本质
查看>>
【217】◀▶ IDL 控制语句说明
查看>>
ASP.NET Web 项目文件类型
查看>>
(转)ogreUML类图
查看>>
array_merge与+的区别
查看>>
【ASP.NET Web API教程】2.3.6 创建产品和订单控制器
查看>>
富文本粘贴图片
查看>>
KRSReader酷狗音乐歌词写真图片提取工具(提取KRS文件中的图片)
查看>>
win8vs2012创建自带sqlServer数据库出错
查看>>
Core Animation之框架简介(一)
查看>>
poj 1156 Palindrome
查看>>
【我所認知的BIOS】—>ADU.exe
查看>>
[AaronYang]C#人爱学不学[4]
查看>>
使用Sublime Text搭建python调试环境[转]
查看>>
30. Substring with Concatenation of All Words
查看>>
FB面经prepare: Task Schedule
查看>>
使用SpringSecurity3用户验证(异常信息,验证码)
查看>>
JSON与XML的区别比较(转)
查看>>
StrongLoop
查看>>
监听turtlesim仿真器,发送数据到实际的机器人--20
查看>>