原創(chuàng)作品,轉(zhuǎn)載請注明出處
如果你還不知道什么是Material Design?那就點(diǎn)這里:Material Design你真的了解嗎称鳞?
官網(wǎng)說明
https://developer.android.com/reference/android/support/design/widget/Snackbar.html
public final class Snackbar
extends BaseTransientBottomBar<Snackbar>
Snackbar提供關(guān)于操作的輕量級反饋。他們在手機(jī)屏幕的底部顯示了一個(gè)簡短的信息牵敷,并且在更大的設(shè)備上顯示在左下角胡岔。snackbar出現(xiàn)在屏幕上的所有其他元素之上,同一時(shí)間內(nèi)只有一個(gè)顯示枷餐。
會在超時(shí)或在屏幕上其他地方的用戶交互之后自動消失靶瘸,特別是在交互之后,這些交互會召喚一個(gè)新的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)//制作一個(gè)Snackbar來顯示一條消息
.setAction("點(diǎn)擊", new View.OnClickListener() {//設(shè)置要顯示在這個(gè)Snackbar中的動作屋剑。
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"toast",Toast.LENGTH_SHORT).show();
}
})
.setDuration(Snackbar.LENGTH_LONG)//設(shè)置顯示時(shí)間長度
.show();
}
效果圖
可以看出Snackbar的使用是非常簡單的,運(yùn)用了構(gòu)造器模式诗眨,清晰快捷唉匾。這樣我們就不用千篇一律的使用Dialog或者PopupWindow了。換一種方式換一種風(fēng)格匠楚。
每星期至少一篇跟新本系列巍膘,感興趣可以關(guān)注。
一起學(xué)習(xí)芋簿,一起進(jìn)步峡懈。