/cardslib

Android Library to build a UI Card

Primary LanguageJava

Card Library

Card Library provides an easy way to display a UI Card in your Android app.

You can display single cards, list of cards and a grid of Cards.

Screen

Screen


Examples

Screen

If you would like, you can support my work, donating through the demo app.


Feature

Card Library provides 3 custom tags:

  • CardView to display a UI Card.
  • CardListView to display a List Card.
  • CardGridView to display a Grid Card.

It requires API 14+


CardView displays a UI Card.

  • It provides different parts as a Header, a Thumbnail, a Shadow, a MainContentArea where you can inflate your custom layout
  • You can customize the global layout as you like
  • You can have some built-in features as OnClickListener, OnSwipeListener , OnLongClickListener
  • CardHeader provides an overflow button with a PopupMenuListener, a button to expand/collapse an area, or a customizable button with its listener.
  • CardThumbnail loads a Bitmap with a resource ID or with a URL using LRUCache and an AsyncTask

CardListView displays a List Card.

  • It uses CardView tag and all its properties.
  • It works with an CardArrayAdapter
  • It works with an CardCursorAdapter

CardGridView displays a Grid Card.

  • It uses CardView tag and some its properties.
  • It works with an `CardGridArrayAdapter

Usage

Creating a Card is pretty simple.

First, you need an XML layout that will display the Card.

        <it.gmariotti.cardslib.library.view.CardView
            android:id="@+id/carddemo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="12dp"
            android:layout_marginTop="12dp"/>

Then create a model:

      //Create a Card
      Card card = new Card(getContext());

      //Create a CardHeader
      CardHeader header = new CardHeader(getContext());
      ....
      //Add Header to card
      card.addCardHeader(header);

Last get a reference to the CardView from your code, and set your Card.

       //Set card in the cardView
       CardView cardView = (CardView) getActivity().findViewById(R.id.carddemo);

       cardView.setCard(card);

Customization

Here you can find some pages to customize these tags.


Including in your project

Card Library is pushed to Maven Central as an AAR, so you just need to add the following dependency to your build.gradle.

dependencies {
    compile 'com.github.gabrielemariotti.cards:library:1.0.0'
}

To build the library and demo locally you can see this page for more info.

ChangeLog


Acknowledgements

Credits

Author: Gabriele Mariotti (gabri.mariotti@gmail.com)

Follow me on Google+ Follow me on Twitter Follow me on LinkedIn

License

Copyright 2013 Gabriele Mariotti

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Google and the Google Maps logo are registered trademarks of Google Inc., used with permission.