Toast用于告知用戶發(fā)生了什么廓推,但不與用戶交互
Snackbar在Toast的基礎(chǔ)上,在提示中加入了一個可交互按鈕
Snackbar.make(v,"To Top?",Snackbar.LENGTH_SHORT)
.setAction("Yes",new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(MainActivity.this,"to top",
Toast.LENGTH_SHORT).show();
}
}).show();
make的第一個參數(shù)View:傳入當前界面布局的任意一個view即可做个,snackbar使用這個view來自動查找最外層的布局滚局,用于展示snackbar
setAction()設(shè)置一個動作
snackbar是在屏幕下方彈出的,此時會遮擋住屏幕下方的控件太闺,但項懸浮按鈕是不應(yīng)該被遮擋的嘁圈,應(yīng)該隨著snackbar的彈出向上偏移
這就要用的CoordinatorLayout布局,該布局是FrameLayout的加強版最住,可以監(jiān)聽其所有子控件的各種事件钞澳,然后自動做出合理相應(yīng)
比如CoordinatorLayout監(jiān)聽到Snackbar的彈出事件(將第一個參數(shù)設(shè)為CoordinatorLayout的子控件),那么它會自動將內(nèi)部的FloatingActionButton向上偏移涨缚,從而確保不會被遮擋
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">