ImageCardView
class ImageCardView : BaseCardView
kotlin.Any | |||||
↳ | android.view.View | ||||
↳ | android.view.ViewGroup | ||||
↳ | android.widget.FrameLayout | ||||
↳ | androidx.leanback.widget.BaseCardView | ||||
↳ | androidx.leanback.widget.ImageCardView |
A subclass of BaseCardView
with an ImageView
as its main region. The ImageCardView
is highly customizable and can be used for various use-cases by adjusting the ImageViewCard's type to any combination of Title, Content, Badge or ImageOnly.
Styling
There are two different ways to style the ImageCardView. No matter what way you use, all your styles applied to an ImageCardView have to extend the styleWidget_Leanback_ImageCardViewStyle
.
Example:
<style name="CustomImageCardViewStyle" parent="Widget.Leanback.ImageCardViewStyle"> <item name="cardBackground">#F0F</item> <item name="lbImageCardViewType">Title|Content</item> </style> <style name="CustomImageCardTheme" parent="Theme.Leanback"> <item name="imageCardViewStyle">@style/CustomImageCardViewStyle</item> <item name="imageCardViewInfoAreaStyle">@style/ImageCardViewColoredInfoArea</item> <item name="imageCardViewTitleStyle">@style/ImageCardViewColoredTitle</item> </style>
The first possibility is to set custom Styles in the Leanback Theme's attributes imageCardViewStyle
, imageCardViewTitleStyle
etc. The styles set here, is the default style for all ImageCardViews.
The second possibility allows you to style a particular ImageCardView. This is useful if you want to create multiple types of cards. E.g. you might want to display a card with only a title and another one with title and content. Thus you need to define two different ImageCardViewStyles
and two different themes and apply them to the ImageCardViews. You can do this by using a the ImageCardView
constructor and passing a ContextThemeWrapper with the custom ImageCardView theme id.
Example (using constructor):
new ImageCardView(new ContextThemeWrapper(context, R.style.CustomImageCardTheme));
You can style all ImageCardView's components such as the title, content, badge, infoArea and the image itself by extending the corresponding style and overriding the specific attribute in your custom ImageCardView theme.
Components
The ImageCardView contains three components which can be combined in any combination:- Title: The card's title
- Content: A short description
- Badge: An icon which can be displayed on the right or left side of the card.
lbImageCardViewType
attribute of your custom ImageCardViewStyle
. You can combine the following values: Title, Content, IconOnRight, IconOnLeft, ImageOnly
.
Examples:
<style name="CustomImageCardViewStyle" parent="Widget.Leanback.ImageCardViewStyle"> ... <item name="lbImageCardViewType">Title|Content|IconOnLeft</item> ... </style>
<style name="CustomImageCardViewStyle" parent="Widget.Leanback.ImageCardViewStyle"> ... <item name="lbImageCardViewType">ImageOnly</item> ... </style>
imageCardViewStyle
lbImageCardViewType
imageCardViewTitleStyle
imageCardViewContentStyle
imageCardViewBadgeStyle
imageCardViewImageStyle
imageCardViewInfoAreaStyle
Summary
Public constructors |
---|
ImageCardView(context: Context) |
ImageCardView(context: Context, attrs: AttributeSet?) |
This function is deprecated. Calling this constructor inefficiently creates one ContextThemeWrapper per card, you should share it in card Presenter: wrapper = new ContextThemeWrapper(context, themResId); return new ImageCardView(wrapper); |
ImageCardView(context: Context, attrs: AttributeSet?, defStyleAttr: Int) |
Public functions |
|
---|---|
Drawable? |
Returns the badge image drawable. |
CharSequence? |
Returns the content text. |
Drawable? |
Returns the info area background drawable. |
Drawable? |
Returns the ImageView drawable. |
ImageView? |
Returns the main image view. |
CharSequence? |
Returns the title text. |
Boolean |
|
Unit |
setBadgeImage(drawable: Drawable?) Sets the badge image drawable. |
Unit |
setContentText(text: CharSequence?) Sets the content text. |
Unit |
setInfoAreaBackground(drawable: Drawable?) Sets the info area background drawable. |
Unit |
setInfoAreaBackgroundColor(color: @ColorInt Int) Sets the info area background color. |
Unit |
setMainImage(drawable: Drawable?) Sets the image drawable with fade-in animation. |
Unit |
setMainImage(drawable: Drawable?, fade: Boolean) Sets the image drawable with optional fade-in animation. |
Unit |
setMainImageAdjustViewBounds(adjustViewBounds: Boolean) Enables or disables adjustment of view bounds on the main image. |
Unit |
setMainImageDimensions(width: Int, height: Int) Sets the layout dimensions of the ImageView. |
Unit |
setMainImageScaleType(scaleType: ImageView.ScaleType) Sets the ScaleType of the main image. |
Unit |
setTitleText(text: CharSequence?) Sets the title text. |
Inherited Constants |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Constants
Public constructors
ImageCardView(context: Context!, themeResId: Int)
Create an ImageCardView using a given theme for customization.
Parameters | |
---|---|
context: Context! |
The Context the view is running in, through which it can access the current theme, resources, etc. |
themeResId: Int |
The resourceId of the theme you want to apply to the ImageCardView. The theme includes attributes "imageCardViewStyle", "imageCardViewTitleStyle", "imageCardViewContentStyle" etc. to customize individual part of ImageCardView. |
ImageCardView
ImageCardView(context: Context, attrs: AttributeSet?, defStyleAttr: Int)
See also | |
---|---|
View |
Public functions
getInfoAreaBackground
fun getInfoAreaBackground(): Drawable?
Returns the info area background drawable.
setBadgeImage
fun setBadgeImage(drawable: Drawable?): Unit
Sets the badge image drawable.
setInfoAreaBackground
fun setInfoAreaBackground(drawable: Drawable?): Unit
Sets the info area background drawable.
setInfoAreaBackgroundColor
fun setInfoAreaBackgroundColor(color: @ColorInt Int): Unit
Sets the info area background color.
setMainImage
fun setMainImage(drawable: Drawable?): Unit
Sets the image drawable with fade-in animation.
setMainImage
fun setMainImage(drawable: Drawable?, fade: Boolean): Unit
Sets the image drawable with optional fade-in animation.
setMainImageAdjustViewBounds
fun setMainImageAdjustViewBounds(adjustViewBounds: Boolean): Unit
Enables or disables adjustment of view bounds on the main image.
setMainImageDimensions
fun setMainImageDimensions(width: Int, height: Int): Unit
Sets the layout dimensions of the ImageView.
setMainImageScaleType
fun setMainImageScaleType(scaleType: ImageView.ScaleType): Unit
Sets the ScaleType of the main image.