Android M之新控件—Snackbar
Snackbar近乎于Toast的存在。
SnackBar會對用戶的操作提供一個輕量級的反饋,將一條簡短的信息顯示在手機屏幕的底部,在較大的設備上則顯示在左下方。SnackBar將會顯示在高于大多數元素的圖層上,他們和浮動操作按鈕在同一個海拔。但是,浮動操作按鈕海拔低于對話框,下表,和導航的抽屜。
SnackBar在顯示超時后或者在其他地方出現用戶交互后,會自動消失在屏幕上,尤其是當前頁面上出現新的表平面或者activity,SnackBar會被滑出屏幕。
1.SnackBar不包含圖標
2.SnackBar同一時間只能顯示一個
3.SnackBar只能包含一個操作
4.SnackBar由屏幕底部升起
5.操作按鈕:字體14sp,全部大寫
? ?文字:14sp
? ?移動高度:48 dp(單行),80 dp(多行)
? ?高度:48 dp
? ?默認背景填充:# 323232 ,不透明
6.如果有浮動按鈕與SnackBar處于同一海拔,應該移動浮動按鈕,為SnackBar騰出空間。
在SnackBar上可以設置一些操作:通過setAction()方法。
在SnackBar消失后可以設置一些操作:通過setCallBack()方法。
代碼:
Snackbar.make(view,"This is a SnackBar", Snackbar.LENGTH_LONG)
? ? ? ? ? ? ?.setCallback(new Snackbar.Callback() {
? ? ? ? ? ? ? ? ? ? ? ? ?@Override
? ? ? ? ? ? ? ? ? ? ? ? ?public void onDismissed(Snackbar snackbar,intevent) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(MainActivity.this,"callback",Toast.LENGTH_LONG).show();
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?super.onDismissed(snackbar, event);
? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? })
? ? ? ? ? ? ? .setAction("ACTION",new View.OnClickListener() {
? ? ? ? ? ? ? ? ? ? ? ? ?@Override
? ? ? ? ? ? ? ? ? ? ? ? ?public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(MainActivity.this,"ACTION onclick",Toast.LENGTH_LONG).show();
? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?}).show();