diff options
author | Dake Gu <dake@google.com> | 2014-09-16 23:04:52 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-16 23:04:52 +0000 |
commit | 7c6a3e4fb17da6e78fe1e1a6ab06f62aac114bdc (patch) | |
tree | 9f8af6021ebb0df866df4fb6694d81ff83d90a34 /samples/SupportLeanbackDemos | |
parent | a0f2a8db7ea6c44f2d0acbdfeac37a1f7bae5661 (diff) | |
parent | fd5a5de66a598bbc28a32d1b39c035addc7efae5 (diff) | |
download | android_development-7c6a3e4fb17da6e78fe1e1a6ab06f62aac114bdc.tar.gz android_development-7c6a3e4fb17da6e78fe1e1a6ab06f62aac114bdc.tar.bz2 android_development-7c6a3e4fb17da6e78fe1e1a6ab06f62aac114bdc.zip |
Merge "Use image card view for DetailsFragment example" into lmp-dev
Diffstat (limited to 'samples/SupportLeanbackDemos')
-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)); } |