Use image card view for DetailsFragment example
b/17499864 Change-Id: I7c5f77da52424afa5020a66b032df68cfdf5846e
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user