Add secondary text to cards.

Add some content to PhotoItems so that the ImageCardViews use two lines
of text.

Bug: 18008019
Change-Id: I9bd72f585f76f84df70644b43539210664fbaa0e
This commit is contained in:
Tim Kilbourn
2014-10-29 17:19:04 -07:00
parent f66eadb5d4
commit 2f6ded27f6
3 changed files with 18 additions and 4 deletions

View File

@@ -78,12 +78,12 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
for (int i = 0; i < NUM_ROWS; ++i) {
ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(cardPresenter);
listRowAdapter.add(new PhotoItem("Hello world", R.drawable.gallery_photo_1));
listRowAdapter.add(new PhotoItem("This is a test", R.drawable.gallery_photo_2));
listRowAdapter.add(new PhotoItem("Android TV", R.drawable.gallery_photo_3));
listRowAdapter.add(new PhotoItem("This is a test", "Only a test", R.drawable.gallery_photo_2));
listRowAdapter.add(new PhotoItem("Android TV", "by Google", R.drawable.gallery_photo_3));
listRowAdapter.add(new PhotoItem("Leanback", R.drawable.gallery_photo_4));
listRowAdapter.add(new PhotoItem("Hello world", R.drawable.gallery_photo_5));
listRowAdapter.add(new PhotoItem("This is a test", R.drawable.gallery_photo_6));
listRowAdapter.add(new PhotoItem("Android TV", R.drawable.gallery_photo_7));
listRowAdapter.add(new PhotoItem("This is a test", "Only a test", R.drawable.gallery_photo_6));
listRowAdapter.add(new PhotoItem("Android TV", "by Google", R.drawable.gallery_photo_7));
listRowAdapter.add(new PhotoItem("Leanback", R.drawable.gallery_photo_8));
HeaderItem header = new HeaderItem(i, "Row " + i, null);
mRowsAdapter.add(new ListRow(header, listRowAdapter));

View File

@@ -17,6 +17,7 @@ import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v17.leanback.widget.ImageCardView;
import android.support.v17.leanback.widget.Presenter;
import android.text.TextUtils;
import android.util.Log;
import android.view.ViewGroup;
import android.view.View.MeasureSpec;
@@ -87,6 +88,9 @@ public class CardPresenter extends Presenter {
.getDrawable(photoItem.getImageResourceId());
((ImageCardView) viewHolder.view).setMainImage(drawable);
((ImageCardView) viewHolder.view).setTitleText(photoItem.getTitle());
if (!TextUtils.isEmpty(photoItem.getContent())) {
((ImageCardView) viewHolder.view).setContentText(photoItem.getContent());
}
}
@Override

View File

@@ -19,10 +19,16 @@ import android.os.Parcelable;
public class PhotoItem implements Parcelable {
private String mTitle;
private String mContent;
private int mImageResourceId;
public PhotoItem(String title, int imageResourceId) {
this(title, null, imageResourceId);
}
public PhotoItem(String title, String content, int imageResourceId) {
mTitle = title;
mContent = content;
mImageResourceId = imageResourceId;
}
@@ -34,6 +40,10 @@ public class PhotoItem implements Parcelable {
return mTitle;
}
public String getContent() {
return mContent;
}
@Override
public String toString() {
return mTitle;