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.make(view, "snack action ", 1000) 这里面view的父布局是CoordinatorLayout的话,
显示是以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);