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.
-
Get sample application on Google Play
.
The demo is a showcase of the functionality of the library. -
Get extras on Google Play
.
The demo-extras contains some examples of integration with other libraries. See this page for more info -
Browse the source code of the sample application for a complete example of use.
-
Example: How to realize simple and nice cards.
If you would like, you can support my work, donating through the demo app.
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 usingLRUCache
and anAsyncTask
CardListView
displays a List Card.
- It uses
CardView
tag and all its properties. - It works with an
CardArrayAdapter
CardGridView
displays a Grid Card.
- It uses
CardView
tag and some its properties. - It works with an `CardGridArrayAdapter
Creating a Card
is 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);
Here you can find some pages to customize these tags.
- Overview:
- Card Header: How to customize all header features
- Card Shadow: How to customize the shadow
- Card Expand: How to use an expandable/collapsible built-in feature
- Card Thumbnail: How to display a thumbnail
- Card: How to customize all card features
- CardList: How to work with the
CardListView
- CardGrid: How to work with the
CardGridView
- Integration with other libraries: How to work with other main libraries
Card Library is pushed to Maven Central as a AAR, so you just need to add the following dependency to your build.gradle
.
dependencies {
compile 'com.github.gabrielemariotti.cards:library:0.8.0'
}
To build the library and demo locally you can see this page for more info.
- Changelog: A complete changelog
- Thanks to Roman Nurik for Android-SwipeToDismiss classes and UndoBarController classes.
Author: Gabriele Mariotti (gabri.mariotti@gmail.com)
![Follow me on Google+](https://github.com/gabrielemariotti/cardslib/raw/master/demo/images/g+64.png?raw=true)
![Follow me on Twitter](https://github.com/gabrielemariotti/cardslib/raw/master/demo/images/twitter64.png?raw=true)
![Follow me on LinkedIn](https://github.com/gabrielemariotti/cardslib/raw/master/demo/images/linkedin.png?raw=true)
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.