CookieBar2
CookieBar is a lightweight library for showing a brief message at the top or bottom of the screen.
Main differences from the original Cookiebar are:
- Swipe to dismiss has been added.
- Programmatic dismiss functionality added.
- Only one Cookie can be displayed at a time (New top cookie will dismiss the current top one if exists).
- Message view captures clicks, blocks downward propagation.
- Slightly different build interface.
- Icon animator support.
- Custom layout can be applied to a cookie.
- Colors presets added.
- Removed supportRtl / allowBackup from library scope (Should be set at app level).
compile 'org.aviran.cookiebar2:cookiebar2:1.0.9'
Screenshot
Create a simple cookie
CookieBar.build(MainActivity.this)
.setTitle("TITLE")
.setMessage("MESSAGE")
.show();
Cookie with an icon and an action
CookieBar.build(MainActivity.this)
.setTitle("TITLE")
.setIcon(R.drawable.icon)
.setMessage("MESSAGE")
.setAction("ACTION", new OnActionClickListener() {
@Override
public void onClick() {
}
})
.show();
Programmatically dismiss cookies currently being displayed
CookieBar.dismiss(MainActivity.this);
Create a cookie with a custom layout
// The view you inflate must contain subviews with the same id's as the original layout_cookie.xml
// You can set visibility to gone, if you wish to hide them.
final View customView =
LayoutInflater.
from(getContext()).
inflate(R.layout.custom_cookie, null);
final ProgressBar progressBar = customView.findViewById(R.id.cookiebar_progressbar);
CookieBar.build(MainActivity.this)
.setCustomView(customView)
.setTitle(R.string.plain_cookie_title)
.setMessage(R.string.plain_cookie_message)
.setDuration(10000)
.setAction("Hide Progress bar", new OnActionClickListener() {
@Override
public void onClick() {
progressBar.setVisibility(View.GONE);
}
})
.show();
Change default cookie style by setting theme attributes
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="cookieTitleColor">@color/default_title_color</item>
<item name="cookieMessageColor">@color/default_message_color</item>
<item name="cookieActionColor">@color/default_action_color</item>
<item name="cookieBackgroundColor">@color/default_bg_color</item>
</style>
Dynamically set cookie style
- layoutGravity
- backgroundColor
- titleColor
- messageColor
- actionColor
- duration