SnackBar是 Android Support Library 22.2.1 裡面新增提供的一個控制項,我們可以簡單的把它理解成一個加強版的Toast,或者是一個輕量級的Dialog。 特點: 看一下SnackBar的使用方法: 三個參數:View ,內容文本,顯示時長 和Toast的使用類似 T ...
SnackBar是 Android Support Library 22.2.1 裡面新增提供的一個控制項,我們可以簡單的把它理解成一個加強版的Toast,或者是一個輕量級的Dialog。
特點:
1.SnackBar和Toast的用途一樣,都是用來提示用戶操作後的結果的。 2.SnackBar顯示時位置一般是在屏幕底部,較大的設備就顯示在左下角。 3.SnackBar同一時間只有一條 4.SnackBar可以自動消失,也可以手動取消(在完成某個操作的時候) 5.在Activity結束的時候,SnackBar會消失,這點Toast不會 (避免Toast那樣 退出Activity了,Toast還繼續顯示的問題) 6.SncakBar能支持側滑
看一下SnackBar的使用方法:
三個參數:View ,內容文本,顯示時長
public static Snackbar make(View view, CharSequence text, int duration) { Snackbar snackbar = new Snackbar(findSuitableParent(view)); snackbar.setText(text); snackbar.setDuration(duration); return snackbar; }
和Toast的使用類似
Toast的三個參數:上下文,內容文本,顯示時長
Toast.makeText(this,"Toast內容",Toast.LENGTH_SHORT).show();
可以看出,SnackBar的顯示需要依賴於一個View。
另外SnackBar的顯示時長的設置值可以為:
Snackbar.LENGTH_SHORT// 短時間顯示,然後自動取消 Snackbar.LENGTH_LONG// 長時間顯示,然後自動取消 Snackbar.LENGTH_INDEFINITE// 不消失顯示,除非手動取消
看一下簡單的使用
xml文件
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="16dp" android:src="@mipmap/icon_add" /> </android.support.design.widget.CoordinatorLayout>
Activity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view,"這是Snackbar控制項顯示的內容",Snackbar.LENGTH_SHORT).show();
}
});
}
}
顯示前:
顯示後: