Android M之新控件—Snackbar

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容