An open API service indexing awesome lists of open source software.

https://github.com/hitherejoe/leanbackcards

Extended set of content cards for Android TV applications.
https://github.com/hitherejoe/leanbackcards

Last synced: 4 months ago
JSON representation

Extended set of content cards for Android TV applications.

Awesome Lists containing this project

README

        

# LeanbackCards


Live Card

Leanback cards is a Widget library for use with Android TV applications. It provides an extended set of
customisable content cards to enhance your User Interfaces.

To begin with, you''ll need to add the dependency to your project as below:

```gradle
compile 'com.hitherejoe.leanback:leanbackcards:0.1.0'
```

Think of this as a playground to try out the cards quickly and easily - so feel free to take the code and use it for the components you need!

The cards currently include:

## Live Card


Live Card

A live card allows you to show a looping video when the card view becomes focused, allowing your
browsing experience to feel more dynamic. You can add a live card in several ways:

- By creating a new instance and setting it's properties programatically:

```java
LiveCardView liveCardView = new LiveCardView(Context context);
```

```java
liveCardView.setVideoViewSize(width, height)
liveCardView.setVideoUrl(videoUrl);
liveCardView.startVideo();
liveCardView.stopVideo();
liveCardView.setCardBackgroundColor(R.color.primary);
liveCardView.setTitleText(getString(R.string.title));
liveCardView.setTextColor(R.color.white);
```

- By creating a new instance and passing in a style:

```java
LiveCardView liveCardView = new LiveCardView(Context context, AttributeSet attrs);
```

```xml

<item name="live_background_color">@color/primary</item>
<item name="live_text_color">@color/white</item>

```

## Loading Card


Loading Card

A loading card allows you to show a simple progress bar to make the user aware that content is being
loaded. You can add a loading card in several ways:

- By creating a new instance and setting it's properties programatically:

```java
LoadingCardView loadingCardView = new LoadingCardView(Context context)
```

It's background color can be set using:

```java
loadingCardView.setCardBackgroundColor(R.color.primary)
```

and you can check it is loading and set it's loading state like so:

```java
loadingCardView.setLoading(true);
loadingCardView.setCardBackgroundColor(R.color.primary);
loadingCardView.setProgressColor(R.color.white);
boolean isLoading = loadingCardView.isLoading();
```

- By creating a new instance and passing in a style:

```java
LoadingCardView loadingCardView = new LoadingCardView(Context context, AttributeSet attrs)
```

```xml

<item name="loading_background_color">@color/primary</item>
<item name="loading_progress_color">@color/white</item>

```

## Tag Card


Tag Card

A tag card allows you to show an icon/text pair. You can add a tag card in several ways:

- By creating a new instance and setting it's properties programatically:

```java
TagCardView tagCardView = new TagCardView(Context context)
```

```java
tagCardView.setCardBackgroundColor(R.color.primary)
tagCardView.setCardText(R.color.primary)
tagCardView.setCardTextColor(R.color.primary)
tagCardView.setCardIcon(R.drawable.ic_tag)
```

- By creating a new instance and passing in a style:

```java
TagCardView tagCardView = new TagCardView(Context context, AttributeSet attrs)
```

```xml

<item name="tag_card_background_color">@color/primary</item>
<item name="tag_text_color">@color/white</item>
<item name="tag_icon">@drawable/ic_tag</item>

```

## Icon Card


Icon Card

An icon card allows you to display a title/detail pair with an icon for visual representation. You
can add an icon card in several ways:

- By creating a new instance and setting it's properties programatically:

```java
IconCardView iconCardView = new IconCardView(Context context)
```

```java
iconCardView.setCardBackgroundColor(R.color.primary);
iconCardView.setDetailBackgroundColor(R.color.primary_dark);
iconCardView.setTitleText(getString(R.string.your_string));
iconCardView.setDetailText(getString(R.string.your_string));
iconCardView.setTitleTextColor(R.color.white);
iconCardView.setDetailTextColor(R.color.white);
iconCardView.setIcon(R.drawable.ic_icon);
```

- By creating a new instance and passing in a style:

```java
IconCardView iconCardView = new IconCardView(Context context, AttributeSet attrs)
```

```xml

<item name="icon_card_background_color">@color/primary</item>
<item name="icon_detail_background_color">@color/primary_dark</item>
<item name="icon_title_text_color">@color/white</item>
<item name="icon_detail_text_color">@color/white</item>
<item name="icon_header_icon">@drawable/ic_icon</item>

```