Merge "SupportLeanbackShowcase: Changed styles into new theme APIs" into mnc-ub-dev

This commit is contained in:
Keyvan Amiri
2016-02-04 00:07:01 +00:00
committed by Android (Google) Code Review
6 changed files with 80 additions and 39 deletions

View File

@@ -19,8 +19,8 @@ import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v17.leanback.app.GuidedStepFragment;
import android.support.v17.leanback.supportleanbackshowcase.R;
import android.support.v17.leanback.supportleanbackshowcase.app.dialog.DialogExampleFragment;
import android.support.v17.leanback.supportleanbackshowcase.R;
/**
* TODO: Javadoc

View File

@@ -53,19 +53,19 @@ public class CardPresenterSelector extends PresenterSelector {
case SQUARE_BIG:
case GRID_SQUARE:
case GAME: {
int style = R.style.MovieCardSimpleStyle;
int themeResId = R.style.MovieCardSimpleTheme;
if (card.getType() == Card.Type.MOVIE_BASE) {
style = R.style.MovieCardBasicStyle;
themeResId = R.style.MovieCardBasicTheme;
} else if (card.getType() == Card.Type.MOVIE_COMPLETE) {
style = R.style.MovieCardCompleteStyle;
themeResId = R.style.MovieCardCompleteTheme;
} else if (card.getType() == Card.Type.SQUARE_BIG) {
style = R.style.SquareBigCard;
themeResId = R.style.SquareBigCardTheme;
} else if (card.getType() == Card.Type.GRID_SQUARE) {
style = R.style.GridCardStyle;
themeResId = R.style.GridCardTheme;
} else if (card.getType() == Card.Type.GAME) {
style = R.style.GameCardStyle;
themeResId = R.style.GameCardTheme;
}
presenter = new ImageCardViewPresenter(mContext, style);
presenter = new ImageCardViewPresenter(mContext, themeResId);
break;
}
case SIDE_INFO:

View File

@@ -28,7 +28,7 @@ import android.widget.ImageView;
public class IconCardPresenter extends ImageCardViewPresenter {
public IconCardPresenter(Context context) {
super(context, R.style.IconCardStyle);
super(context, R.style.IconCardTheme);
}
@Override

View File

@@ -18,6 +18,8 @@ import android.content.Context;
import android.support.v17.leanback.supportleanbackshowcase.R;
import android.support.v17.leanback.supportleanbackshowcase.models.Card;
import android.support.v17.leanback.widget.ImageCardView;
import android.view.ContextThemeWrapper;
import com.squareup.picasso.Picasso;
/**
@@ -27,21 +29,17 @@ import com.squareup.picasso.Picasso;
*/
public class ImageCardViewPresenter extends AbstractCardPresenter<ImageCardView> {
private final int mCardStyleResId;
public ImageCardViewPresenter(Context context, int cardStyleResId) {
super(context);
mCardStyleResId = cardStyleResId;
public ImageCardViewPresenter(Context context, int cardThemeResId) {
super(new ContextThemeWrapper(context, cardThemeResId));
}
public ImageCardViewPresenter(Context context) {
super(context);
mCardStyleResId = R.style.DefaultCardStyle;
this(context, R.style.DefaultCardTheme);
}
@Override
protected ImageCardView onCreateView() {
return new ImageCardView(getContext(), mCardStyleResId);
return new ImageCardView(getContext());
}
@Override

View File

@@ -27,7 +27,7 @@ import android.support.v17.leanback.widget.ImageCardView;
public class SingleLineCardPresenter extends ImageCardViewPresenter {
public SingleLineCardPresenter(Context context) {
super(context, R.style.SingleLineCardStyle);
super(context, R.style.SingleLineCardTheme);
}
@Override public void onBindViewHolder(Card card, ImageCardView cardView) {

View File

@@ -51,21 +51,35 @@
<item name="android:layout_height">@dimen/movie_image_card_height</item>
</style>
<style name="MovieCardSimpleStyle" parent="Widget.Leanback.ImageCardViewStyle">
<item name="lbImageCardViewType">Title</item>
<item name="lbImageCardViewImageStyle">@style/MovieCardImageStyle</item>
<item name="cardBackground">@null</item>
</style>
<!-- Theme corresponding to the MovieCardSimpleStyle -->
<style name="MovieCardSimpleTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/MovieCardSimpleStyle </item>
<item name="imageCardViewImageStyle">@style/MovieCardImageStyle</item>
</style>
<style name="MovieCardCompleteStyle" parent="MovieCardSimpleStyle">
<item name="lbImageCardViewTitleStyle">@style/MovieCardTitleTwoLineStyle</item>
<item name="lbImageCardViewBadgeStyle">@style/MovieCardBadgeStyle</item>
<item name="lbImageCardViewContentStyle">@style/MovieCardContentStyle</item>
<item name="lbImageCardViewType">Title|Content|IconOnLeft</item>
</style>
<style name="MovieCardBasicStyle" parent="MovieCardCompleteStyle">
<item name="lbImageCardViewContentStyle">@style/MovieCardContentGoneStyle</item>
<!-- Theme corresponding to the MovieCardCompleteStyle -->
<style name="MovieCardCompleteTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/MovieCardCompleteStyle </item>
<item name="imageCardViewImageStyle">@style/MovieCardImageStyle</item>
<item name="imageCardViewTitleStyle">@style/MovieCardTitleTwoLineStyle</item>
<item name="imageCardViewBadgeStyle">@style/MovieCardBadgeStyle</item>
<item name="imageCardViewContentStyle">@style/MovieCardContentStyle</item>
</style>
<!-- Theme corresponding to the MovieCardBasicStyle -->
<style name="MovieCardBasicTheme" parent="MovieCardCompleteTheme">
<item name="imageCardViewContentStyle">@style/MovieCardContentGoneStyle</item>
</style>
<!-- Squared Title/Content card style. Used in cards example. -->
@@ -75,10 +89,15 @@
</style>
<style name="SquareBigCard" parent="Widget.Leanback.ImageCardViewStyle">
<item name="lbImageCardViewImageStyle">@style/SquareBigCardImageStyle</item>
<item name="cardBackground">@null</item>
</style>
<!-- Theme corresponding to the SquareBigCard -->
<style name="SquareBigCardTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/SquareBigCard </item>
<item name="imageCardViewImageStyle">@style/SquareBigCardImageStyle</item>
</style>
<!-- SideInfo. used in cards example -->
<style name="SideInfoCardStyle" parent="Widget.Leanback.BaseCardViewStyle">
<item name="cardType">mainOnly</item>
@@ -102,10 +121,15 @@
</style>
<style name="GridCardStyle" parent="Widget.Leanback.ImageCardViewStyle">
<item name="lbImageCardViewImageStyle">@style/GridCardImageStyle</item>
<item name="cardBackground">@null</item>
</style>
<!-- Theme corresponding to the GridCardTheme -->
<style name="GridCardTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/GridCardStyle </item>
<item name="imageCardViewImageStyle">@style/GridCardImageStyle</item>
</style>
<!-- A default card style. Used in cards example. -->
<style name="DefaultCardImageStyle" parent="Widget.Leanback.ImageCardView.ImageStyle">
<item name="android:layout_width">@dimen/default_image_card_width</item>
@@ -114,7 +138,11 @@
<style name="DefaultCardStyle" parent="Widget.Leanback.ImageCardViewStyle">
<item name="cardBackground">@null</item>
<item name="lbImageCardViewImageStyle">@style/DefaultCardImageStyle</item>
</style>
<style name="DefaultCardTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/DefaultCardStyle </item>
<item name="imageCardViewImageStyle">@style/DefaultCardImageStyle</item>
</style>
<!-- Game card styles with custom Badge icon. Used in cards example. -->
@@ -127,9 +155,15 @@
</style>
<style name="GameCardStyle" parent="DefaultCardStyle">
<item name="lbImageCardViewContentStyle">@style/GameCardContentStyle</item>
<item name="lbImageCardViewType">Title|Content|IconOnLeft</item>
<item name="lbImageCardViewBadgeStyle">@style/GameCardBadgeStyle</item>
</style>
<!-- Theme corresponding to the GameCardStyle -->
<style name="GameCardTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/GameCardStyle </item>
<item name="imageCardViewContentStyle">@style/GameCardContentStyle</item>
<item name="imageCardViewBadgeStyle">@style/GameCardBadgeStyle</item>
<item name="imageCardViewImageStyle">@style/DefaultCardImageStyle</item>
</style>
<!-- Squared single line card with colored footer style. Used in cards example. -->
@@ -149,13 +183,23 @@
</style>
<style name="SingleLineCardStyle" parent="DefaultCardStyle">
<item name="lbImageCardViewTitleStyle">@style/SingleLineCardTitleStyle</item>
<item name="lbImageCardViewType">Title</item>
<item name="lbImageCardViewImageStyle">@style/SingleLineCardImageStyle</item>
<item name="lbImageCardViewInfoAreaStyle">@style/SingleLineCardInfoAreaStyle</item>
</style>
<!-- Theme corresponding to the SingleLineCardStyle -->
<style name="SingleLineCardTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/SingleLineCardStyle </item>
<item name="imageCardViewTitleStyle">@style/SingleLineCardTitleStyle</item>
<item name="imageCardViewImageStyle">@style/SingleLineCardImageStyle</item>
<item name="imageCardViewInfoAreaStyle">@style/SingleLineCardInfoAreaStyle</item>
</style>
<!-- Icon card style with custom focus handler. Used in cards example. -->
<style name="IconCardViewStyle" parent="DefaultCardStyle">
<item name="lbImageCardViewType">Title</item>
</style>
<style name="IconCardImageStyle" parent="Widget.Leanback.ImageCardView.ImageStyle">
<item name="android:layout_width">96dp</item>
<item name="android:layout_height">96dp</item>
@@ -174,13 +218,12 @@
<item name="layout_viewType">main</item>
</style>
<style name="IconCardStyle" parent="DefaultCardStyle">
<item name="android:layout_width">96dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="lbImageCardViewTitleStyle">@style/IconCardTitleStyle</item>
<item name="lbImageCardViewType">Title</item>
<item name="lbImageCardViewImageStyle">@style/IconCardImageStyle</item>
<item name="lbImageCardViewInfoAreaStyle">@style/IconCardInfoAreaStyle</item>
<!-- Theme corresponding to the IconCardStyle -->
<style name="IconCardTheme" parent="Theme.Leanback">
<item name="imageCardViewStyle"> @style/IconCardViewStyle </item>
<item name="imageCardViewTitleStyle">@style/IconCardTitleStyle</item>
<item name="imageCardViewImageStyle">@style/IconCardImageStyle</item>
<item name="imageCardViewInfoAreaStyle">@style/IconCardInfoAreaStyle</item>
</style>
</resources>