介绍
类介绍
Snackbar中Public属性列表
Callback | 抽象函数用来设置SnackBar显示和消失的回调 |
make | 创建SnackBar |
setAction | 设置ActionView的响应事件 |
show | 显示SnackBar |
dismiss | 收起SnackBar |
setActionTextColor | 设置ActionView的字体颜色 |
setText | 设置TextView的显示内容 |
setDuration | 设置SnackBar的显示时间 |
getDuration | 获取SnackBar的显示时间 |
getView | 获取SnackBar的View视图 |
setCallback | 设置显示和消失的事件监听 |
isShown | 是否已经显示 |
shownOrQueued | 是否已经显示或者在队列中等待显示 |
整理而言的话,感觉Snackbar就是Toast的一个升级版本,使用的方式和Toast也比较相似。
创建Snackbar之后一定要记得调用show()方法
具体使用
–代码内容–
package mraz.com.snackdemo;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
RelativeLayout rootLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rootLayout = (RelativeLayout) findViewById(R.id.root_layout);
Button shortButton = (Button) findViewById(R.id.short_button);
Button longButton = (Button) findViewById(R.id.long_button);
shortButton.setOnClickListener(this);
longButton.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.short_button:
final Snackbar shortSnackbar = Snackbar.make(rootLayout, " Short SnackBar", Snackbar.LENGTH_SHORT);
shortSnackbar.setAction("Click", new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(rootLayout.getContext(), "Shoort Snackbar onClick", Toast.LENGTH_SHORT).show();
}
}
);
shortSnackbar.setActionTextColor(getResources().getColor(R.color.colorPrimaryDark));
shortSnackbar.show();
break;
case R.id.long_button:
Snackbar longSnackbar = Snackbar.make(rootLayout, " Long SnackBar", Snackbar.LENGTH_LONG);
longSnackbar.setCallback(new SnackCallback());
longSnackbar.show();
break;
}
}
class SnackCallback extends Snackbar.Callback {
@Override
public void onDismissed(Snackbar snackbar, int event) {
super.onDismissed(snackbar, event);
Toast.makeText(rootLayout.getContext(), "SnackBar onDismissed", Toast.LENGTH_SHORT).show();
}
@Override
public void onShown(Snackbar snackbar) {
super.onShown(snackbar);
Toast.makeText(rootLayout.getContext(), "SnackBar onShown", Toast.LENGTH_SHORT).show();
}
}
}