Material Design使用之SnackBar

 接触过Android开发的开发者可能都知道,Android常用的RemoteView有两种:即Notification和Toast,刚开始学Android的时候大家可能都使用过Toast作为某些相应事件的提示控件。可能用的都不爱了。
 2014年Google I/O大会上发布了一个好消息,那就是MaterialDesign,这为很多的Android独立开发着带了福音,因为它作为Google官方开发的支持库,设计了一套标准的UI设计规范,没有这个支持库可能你会去Github上找优秀的开源,这不失为一个好办法,但是有了这个Material Design之后,连你找开源库的时间都能省了,目前,这个支持库最低已经能兼容到2.1了!!!
 今天,先介绍最简单的SnackBar,他跟Toast很像,甚至连使用方式都很像,所以看一遍也就会了。
 coding…..
 

//最基本的Snackbar用法
Snackbar.make(rl, "SnackbarClicked", Snackbar.LENGTH_SHORT).show();

效果图2

//带Action的Snackbar用法
Snackbar.make(rl, "SnackbarClicked", Snackbar.LENGTH_SHORT).setAction("Action", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(Main2Activity.this, "I'm a Toast", Toast.LENGTH_SHORT).show();
            }
        }).setActionTextColor(Color.RED).show();

效果图2
关于它的第一个参数是什么,我们直接看源码:

@NonNull
    public static Snackbar make(@NonNull View view, @NonNull CharSequence text,
            @Duration int duration) {
        Snackbar snackbar = new Snackbar(findSuitableParent(view));
        snackbar.setText(text);
        snackbar.setDuration(duration);
        return snackbar;
    }

可以看出他是一个View类型的参数,那个这个View具体是什么呢?
这个View即是Snackbar依附的父视图。
 出于开发需要可能要对Snackbar的视图做一些修改:

//设置字体大小
nackbar.setActionTextColor(Color.BLUE);
//设置背景色
nackbar的View mView = snackbar.getView();
mView.setBackgroundColor(Color.BLUE);
snackbar.setActionTextColor(Color.GREEN);
//设置Action文本字体
TextView tvSnackbarText = (TextView) mView.findViewById(android.support.design.R.id.snackbar_text);
tvSnackbarText.setText("hello world");
tvSnackbarText.setTextColor(Color.RED);
tvSnackbarText.setTextSize(30);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechMix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值