diff options
author | Dake Gu <dake@google.com> | 2014-09-16 14:31:22 -0700 |
---|---|---|
committer | Dake Gu <dake@google.com> | 2014-09-16 14:43:48 -0700 |
commit | fd5a5de66a598bbc28a32d1b39c035addc7efae5 (patch) | |
tree | 1b6a25f51cca5d5434db787b8810d4ab0797ce89 /samples | |
parent | bd2bea18ab91a3e0502c7e74adc977f08d1c511e (diff) | |
download | android_development-fd5a5de66a598bbc28a32d1b39c035addc7efae5.tar.gz android_development-fd5a5de66a598bbc28a32d1b39c035addc7efae5.tar.bz2 android_development-fd5a5de66a598bbc28a32d1b39c035addc7efae5.zip |
Use image card view for DetailsFragment example
b/17499864
Change-Id: I7c5f77da52424afa5020a66b032df68cfdf5846e
Diffstat (limited to 'samples')
-rw-r--r-- | samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java index 048fd1f5a..5cf086793 100644 --- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java +++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/DetailsFragment.java @@ -13,9 +13,11 @@ */ package com.example.android.leanback; +import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; import android.support.v4.app.ActivityCompat; +import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.view.ViewCompat; import android.support.v17.leanback.widget.Action; import android.support.v17.leanback.widget.ArrayObjectAdapter; @@ -23,6 +25,7 @@ import android.support.v17.leanback.widget.ClassPresenterSelector; import android.support.v17.leanback.widget.DetailsOverviewRow; import android.support.v17.leanback.widget.DetailsOverviewRowPresenter; import android.support.v17.leanback.widget.HeaderItem; +import android.support.v17.leanback.widget.ImageCardView; import android.support.v17.leanback.widget.ListRow; import android.support.v17.leanback.widget.ListRowPresenter; import android.support.v17.leanback.widget.OnActionClickedListener; @@ -79,6 +82,16 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) { Log.i(TAG, "onItemClicked: " + item + " row " + row); + if (item instanceof PhotoItem){ + Intent intent = new Intent(getActivity(), DetailsActivity.class); + intent.putExtra(DetailsActivity.EXTRA_ITEM, (PhotoItem) item); + + Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation( + getActivity(), + ((ImageCardView)itemViewHolder.view).getMainImageView(), + DetailsActivity.SHARED_ELEMENT_NAME).toBundle(); + getActivity().startActivity(intent, bundle); + } } }); setOnItemViewSelectedListener(new OnItemViewSelectedListener() { @@ -99,6 +112,7 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra public void setItem(PhotoItem photoItem) { mPhotoItem = photoItem; + mRowsAdapter.clear(); Resources res = getActivity().getResources(); DetailsOverviewRow dor = new DetailsOverviewRow("Details Overview"); dor.setImageDrawable(res.getDrawable(photoItem.getImageResourceId())); @@ -106,10 +120,13 @@ public class DetailsFragment extends android.support.v17.leanback.app.DetailsFra dor.addAction(new Action(2, "Rent", "$3.99", res.getDrawable(R.drawable.ic_action_a))); mRowsAdapter.add(dor); + final CardPresenter cardPresenter = new CardPresenter(); for (int i = 0; i < NUM_ROWS; ++i) { - ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(new StringPresenter()); - listRowAdapter.add("Hello world"); - listRowAdapter.add("This is a test"); + 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("Leanback", R.drawable.gallery_photo_4)); HeaderItem header = new HeaderItem(i, "Row " + i, null); mRowsAdapter.add(new ListRow(header, listRowAdapter)); } |