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