SnackBar提示訊息元件
SnackBar是實感設計中的一個新元件,Android中原本有Toast可以提供較輕量的訊息給使用者,但Toast不符實感設計的理念,因此推出另一個提示使用者訊息的元件,也就是「android.support.design.widget.Snackbar」類別,它的使用方式與Toast類別非常類似,如下:
Snackbar.make(view, "想要顯示的訊息字串", Snackbar.LENGTH_LONG) .show();
執行時顯示在活動的最下方,如下圖:
設定Action
與Toast不同的是,它不只是短時間顯示就消失,還能在顯示時讓使用者點擊,使用setAction方法可在訊息旁顯示點擊的提示文字,並在點擊時加入事件處理,如下:
Snackbar.make(view, "想要顯示的訊息字串", Snackbar.LENGTH_LONG) .setAction("Action", OnClickListener匿名類別) .setActionTextColor(Color.YELLOW) .show();
setAction方法需要一個字串,如”Action”,與按下動作時的事件處理,如上述的OnClickListener匿名類別,執行效果如下圖:
Action的字體顏色則可透過setActionTextColor方法設定,按下時的設計可寫在匿名類別內的onClick方法,如下:
Snackbar.make(view, "想要顯示的訊息字串", Snackbar.LENGTH_LONG) .setAction("Action", new View.OnClickListener() { @Override public void onClick(View v) { //設計點擊訊息時的工作 } }) .setActionTextColor(Color.YELLOW) .show();