介绍

类介绍

Snackbar中Public属性列表

<Android 基础(十一)> Snackbar-LMLPHP

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();
}
}
}

实际效果

<Android 基础(十一)> Snackbar-LMLPHP

05-11 18:21