स्नैकबार ( 'com.android.support:design:23.2.1' ) कई प्रकार की बर्खास्तगी कार्रवाई का समर्थन करता है। आप ईवेंट का उपयोग करके एक साधारण फ़िल्टर बना सकते हैं , जैसे कि इस उदाहरण में:
Snackbar.make(view, wornMessage, Snackbar.LENGTH_LONG).setActionTextColor(context.getResources().getColor(R.color.primary))
.setCallback(new Snackbar.Callback() {
@Override
public void onShown(Snackbar snackbar) {
super.onShown(snackbar);
// when snackbar is showing
}
@Override
public void onDismissed(Snackbar snackbar, int event) {
super.onDismissed(snackbar, event);
if (event != DISMISS_EVENT_ACTION) {
//will be true if user not click on Action button (for example: manual dismiss, dismiss by swipe
}
}
})
.setAction("Undo, view1 -> {
// if user click on Action button
}).show();
स्नैकबार के खारिज प्रकार:
/** Indicates that the Snackbar was dismissed via a swipe.*/
public static final int DISMISS_EVENT_SWIPE = 0;
/** Indicates that the Snackbar was dismissed via an action click.*/
public static final int DISMISS_EVENT_ACTION = 1;
/** Indicates that the Snackbar was dismissed via a timeout.*/
public static final int DISMISS_EVENT_TIMEOUT = 2;
/** Indicates that the Snackbar was dismissed via a call to {@link #dismiss()}.*/
public static final int DISMISS_EVENT_MANUAL = 3;
/** Indicates that the Snackbar was dismissed from a new Snackbar being shown.*/
public static final int DISMISS_EVENT_CONSECUTIVE = 4;
पुनश्च नमूना कोड में लैम्बडा के भावों का प्रयोग किया जाता है (रेट्रोबलाडा द्वारा)
Snackbar
करना Google सामग्री डिज़ाइन दिशानिर्देशों के विरुद्ध है ।