其他答案对我不起作用。我已经实现了这个:
SnackBar.class
public class SnackBar{
Context context;
Snackbar getSnackbar(View v, String s, View.OnClickListener listener, String action){
Snackbar sn = Snackbar.make(v, "" + s, Snackbar.LENGTH_LONG);
sn.setAction("" + action, listener);
sn.setActionTextColor(Color.CYAN);
sn.show();
sn.getView().setBackground(ContextCompat.getDrawable(context,R.drawable.snackbar_shape));
return sn;
}
在 MainActivity.class 中包括
MainActivity.class:
// Snackbar.make(v,"Notification for pressing button",Snackbar.LENGTH_LONG).show();
final SnackBar snackBar=new SnackBar();
snackBar.context=MainActivity.this;
snackBar.getSnackbar(v, "Notification for pressing ", new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e(TAG,"cancelled");
snackBar.onClick=true;
}
}, "cancel");
在可绘制目录中
小吃吧形状.xml
<item
android:left="20dp"
android:right="20dp"
android:bottom="10dp"
android:top="10dp">
<shape android:shape="rectangle" >
<solid android:color="#F31E1E1E" />
<padding android:left="25dp"android:right="25dp" android:bottom="10dp"android:top="10dp" />
<corners android:radius="7dp" />
</shape>
</item>