在Android App中使用Snackbar取代Toast
戴谷州 Ken
- 恆逸教育訓練中心-資深講師
- 技術分類:程式設計
Toast元件是 Android App 中用來呈現簡短提示或通知的一種方式。
Toast用法
Toast.make(context, "I’m Toast!", Toast.LENGTH_LONG).show();
第一個參數為context,Activity和Service都可以傳入。當在背景 Service 中執行會導致用戶跟本不知到是那個App在顯示此Toast。
Material Design 中導入 Snackbar用來取代 Toast。
Snackbar用法與Toast類似:
Snackbar.make(contentView, "I’m Snackbar", Snackbar.LENGTH_LONG).show();
跟 Toast 不同的是,Snackbar 隸屬於顯示中的 view,,而不是以 context。這確保 Snackbar 只在有 view 顯示時才出現。在Activity中可以用findViewById(android.R.id.content) 取得contentView。
Snackbar也可以加入按鈕作為回饋。
Snackbar.make(contentView,"I'm Snackbar",Snackbar.LENGTH_LONG) .setAction("OK", new View.OnClickListener() { @Override public void onClick(View view) { Log.i("SNACKBAR","OK"); } }) .show();