WIP: Added transitions to MainFragment.
In order to show how to use transitions, they
have been added to the MainFragment. Thus the
transitions are used when an example gets opened.
Change-Id: I9703c7832a2d2ef2a09ddb91e1676dfc1ac4f24a
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java
index 643259d..1288a37 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java
@@ -32,6 +32,7 @@
import android.support.v17.leanback.supportleanbackshowcase.models.Movie;
import android.support.v17.leanback.supportleanbackshowcase.utils.Utils;
import android.support.v17.leanback.widget.ArrayObjectAdapter;
+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.OnItemViewClickedListener;
@@ -40,6 +41,7 @@
import android.support.v17.leanback.widget.PresenterSelector;
import android.support.v17.leanback.widget.Row;
import android.support.v17.leanback.widget.RowPresenter;
+import android.support.v4.app.ActivityOptionsCompat;
import com.google.gson.Gson;
@@ -99,44 +101,40 @@
@Override
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
+ Intent intent = null;
Card card = (Card) item;
int id = card.getId();
switch (id) {
case 0: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
CardExampleActivity.class);
- startActivity(intent);
break;
}
case 2: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
GridExampleActivity.class);
- startActivity(intent);
break;
}
case 3: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
DetailViewExampleActivity.class);
- startActivity(intent);
break;
}
case 4: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
VideoExampleActivity.class);
- startActivity(intent);
break;
}
case 5: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
MusicExampleActivity.class);
- startActivity(intent);
break;
}
case 6: {
// Let's create a new Wizard for a given Movie. The movie can come from any sort
// of data source. To simplify this example we decode it from a JSON source
// which might be loaded from a server in a real world example.
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
WizardExampleActivity.class);
// Prepare extras which contains the Movie and will be passed to the Activity
@@ -149,24 +147,28 @@
intent.putExtras(extras);
// Finally, start the wizard Activity.
- startActivity(intent);
break;
}
case 7: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
SettingsExampleActivity.class);
startActivity(intent);
- break;
+ return;
}
case 8: {
- Intent intent = new Intent(getActivity().getBaseContext(),
+ intent = new Intent(getActivity().getBaseContext(),
DialogExampleActivity.class);
- startActivity(intent);
break;
}
default:
break;
}
+ if (intent != null) {
+ Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
+ ((ImageCardView) itemViewHolder.view).getMainImageView(), "transition")
+ .toBundle();
+ startActivity(intent, bundle);
+ }
}
}