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();

Material Design使用之SnackBar_第1张图片

//带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();

Material Design使用之SnackBar_第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);

你可能感兴趣的:(Android基础,android开发)