Skip to content
Snippets Groups Projects
Commit e7cd15dd authored by MAUGEZ Emeline's avatar MAUGEZ Emeline
Browse files

Transformation added

parent d7d586c7
Branches
No related tags found
No related merge requests found
......@@ -16,7 +16,6 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.example.robotise.R;
import com.example.robotise.databinding.ActivityScrollingBinding;
import com.example.robotise.list.CocktailsArrayAdapter;
import com.example.robotise.list.CocktailsListView;
import com.example.robotise.model.CocktailItem;
......@@ -36,7 +35,7 @@ public class ListCocktailsActivity extends AppCompatActivity implements
super.onCreate(savedInstanceState);
//De base pour le haut de l'application
com.example.robotise.databinding.ActivityScrollingBinding binding = ActivityScrollingBinding.inflate(getLayoutInflater());
com.example.robotise.databinding.ActivityScrollingBinding binding = com.example.robotise.databinding.ActivityScrollingBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
Toolbar toolbar = binding.toolbar;
setSupportActionBar(toolbar);
......
......@@ -4,11 +4,14 @@ import static com.example.robotise.list.IngredientArrayAdapter.Modes.QuantiteSim
import android.app.Activity;
import android.os.Bundle;
import android.transition.Transition;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import androidx.core.view.ViewCompat;
import com.example.robotise.R;
import com.example.robotise.list.IngredientArrayAdapter;
import com.example.robotise.model.IngredientItem;
......@@ -21,6 +24,9 @@ import java.util.ArrayList;
*/
public class PopUpCocktail extends Activity {
private Button mRetour;
//todo probleme affichage voir screen
// View name of the header image. Used for activity scene transitions
public static final String VIEW_NAME_HEADER_IMAGE = "detail:header:image";
@Override
......@@ -39,6 +45,8 @@ public class PopUpCocktail extends Activity {
ImageView iv = findViewById(R.id.imageCocktail);
iv.setImageResource(ir);
ViewCompat.setTransitionName(iv, VIEW_NAME_HEADER_IMAGE);
Button nom = findViewById(R.id.nomCocktail);
nom.setText(nomCocktail);
......@@ -85,5 +93,56 @@ public class PopUpCocktail extends Activity {
lv.setAdapter(ingredientAdapter);
}
/**
* Try and add a {@link Transition.TransitionListener} to the entering shared element
* {@link Transition}. We do this so that we can load the full-size image after the transition
* has completed.
*
* @return true if we were successful in adding a listener to the enter transition
*/
private boolean addTransitionListener() {
final Transition transition = getWindow().getSharedElementEnterTransition();
if (transition != null) {
// There is an entering shared element transition so add a listener to it
transition.addListener(new Transition.TransitionListener() {
@Override
public void onTransitionEnd(Transition transition) {
// As the transition has ended, we can now load the full-size image
//loadFullSizeImage();
// Make sure we remove ourselves as a listener
transition.removeListener(this);
}
@Override
public void onTransitionStart(Transition transition) {
// No-op
}
@Override
public void onTransitionCancel(Transition transition) {
// Make sure we remove ourselves as a listener
transition.removeListener(this);
}
@Override
public void onTransitionPause(Transition transition) {
// No-op
}
@Override
public void onTransitionResume(Transition transition) {
// No-op
}
});
return true;
}
// If we reach here then we have not added a listener
return false;
}
}
......@@ -2,6 +2,7 @@ package com.example.robotise.list;
import android.app.Activity;
import android.content.Context;
import android.util.Pair;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
......@@ -17,8 +18,11 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.app.ActivityOptionsCompat;
import com.example.robotise.R;
import com.example.robotise.control.PopUpCocktail;
import com.example.robotise.model.CocktailItem;
import com.example.robotise.model.IngredientItem;
......@@ -117,7 +121,17 @@ public class CocktailsArrayAdapter extends ArrayAdapter<CocktailItem> implements
holder.cocktailName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((Activity)getContext()).startActivity(currentCocktail.activity);
//((Activity)getContext()).startActivity(currentCocktail.activity);
@SuppressWarnings("unchecked")
ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(
((Activity)getContext()),
// Now we provide a list of Pair items which contain the view we can transitioning
// from, and the name of the view it is transitioning to, in the launched activity
holder.cocktailImage, PopUpCocktail.VIEW_NAME_HEADER_IMAGE);
// Now we can start the Activity, providing the activity options as a bundle
((Activity)getContext()).startActivity(currentCocktail.activity, activityOptions.toBundle());
......
<!-- res/transition/change_image_transform.xml -->
<!-- (see also Shared Transitions below) -->
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform/>
</transitionSet>
\ No newline at end of file
......@@ -13,20 +13,21 @@
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<item name="android:button" tools:targetApi="l">?attr/colorPrimary</item>
<!-- Customize your theme here. -->
</style>
<style name="Theme.Robotise.BlueLagoon">
<item name="colorPrimary">@color/teal_700</item>
<item name="colorPrimaryVariant">@color/teal_700</item>
<item name="colorSecondary">@color/teal_700</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="android:button" tools:targetApi="l">?attr/colorPrimary</item>
</style>
<style name="Theme.Robotise.SexOnTheBeach">
<item name="colorPrimary">@color/SexOnTheBeach</item>
<item name="colorPrimaryVariant">@color/SexOnTheBeach</item>
<item name="colorSecondary">@color/SexOnTheBeach</item>
<item name="colorSecondaryVariant">@color/SexOnTheBeach</item>
<item name="android:button" tools:targetApi="l">?attr/colorPrimary</item>
<!-- enable window content transitions -->
<item name="android:windowActivityTransitions">true</item>
<!-- specify enter and exit transitions -->
<item name="android:windowEnterTransition">@android:transition/explode</item>
<item name="android:windowExitTransition">@android:transition/explode</item>
<!-- specify shared element transitions -->
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform</item>
</style>
<style name="Theme.Robotise.NoActionBar">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment