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

cookiebar2

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

GitHub