原創作品,轉載請注明出處
如果你還不知道什么是Material Design?那就點這里:Material Design你真的了解嗎?
官網說明
https://developer.android.com/reference/android/support/design/widget/Snackbar.html
public final class Snackbar
extends BaseTransientBottomBar<Snackbar>
Snackbar提供關于操作的輕量級反饋。他們在手機屏幕的底部顯示了一個簡短的信息,并且在更大的設備上顯示在左下角。snackbar出現在屏幕上的所有其他元素之上,同一時間內只有一個顯示。
會在超時或在屏幕上其他地方的用戶交互之后自動消失,特別是在交互之后,這些交互會召喚一個新的surface 或 activity。
snackbar可以在屏幕上滑動。
先上代碼
LinearLayout linearLayout;
Button btnSnackbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
btnSnackbar = (Button)findViewById(R.id.btn_snackbar);
btnSnackbar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showSnackbar();
}
});
}
private void showSnackbar() {
Snackbar.make(linearLayout,"Demo",Snackbar.LENGTH_LONG)//制作一個Snackbar來顯示一條消息
.setAction("點擊", new View.OnClickListener() {//設置要顯示在這個Snackbar中的動作。
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"toast",Toast.LENGTH_SHORT).show();
}
})
.setDuration(Snackbar.LENGTH_LONG)//設置顯示時間長度
.show();
}
效果圖
可以看出Snackbar的使用是非常簡單的,運用了構造器模式,清晰快捷。這樣我們就不用千篇一律的使用Dialog或者PopupWindow了。換一種方式換一種風格。
每星期至少一篇跟新本系列,感興趣可以關注。
一起學習,一起進步。