Material Design使用之SnackBar

来源:互联网 发布:xp网络打印机安装步骤 编辑:程序博客网 时间:2024/06/05 07:40

 接触过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);
0 0