tutti! Ho 2 frammenti. In un frammento ho una piccola immagine in una carta. Nel frammento 2d ho la stessa immagine nell'intestazione del mio layout. Voglio fare condivisa elemento di transizione di questa immagine da un frammento all'altro come in questo esempio http://1.bp.blogspot.com/-Vv4SxVSI2DY/VEqQxAf3PWI/AAAAAAAAA7c/mfq7XBrIGgo/s1600/activity_transitions%2B(1).gifTransizione frammento Android con elemento condiviso
2d frammento:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f2f4f7">
<CustomScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#f2f4f7">
<LinearLayout
android:id="@+id/content_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:divider="@drawable/vertical_divider"
android:showDividers="middle">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/header_wrapper"
android:layout_width="match_parent"
android:layout_height="166.7dp">
<ImageView
android:id="@+id/share_image"
android:transitionName="imageTransition"
android:layout_width="match_parent"
android:layout_height="166.7dp"
android:src="@drawable/friday"/>
primo frammento:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_marginTop="56dp"
android:background="#ff1e1e23">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:src="@drawable/menuicon1g"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:gravity="center"
android:textColor="#fff"
android:textSize="22sp"/>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="300dp"
android:layout_marginTop="25dp"
card_view:cardCornerRadius="4dp"
card_view:cardBackgroundColor="#fff"
card_view:cardElevation="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/share_image"
android:transitionName="imageTransition"
android:layout_width="match_parent"
android:layout_height="92.5dp"
android:src="@drawable/friday"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:src="@drawable/demo_calendar"/>
<com.zagum.work.virtualfitness.CustomTextView
xmlns:com.zagum.work.virtualfitness="http://schemas.android.com/apk/res/com.zagum.work.virtualfitness"
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="10dp"
com.zagum.work.virtualfitness:typeface="fonts/Roboto-Light.ttf"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="40dp"
android:gravity="center"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:textSize="18sp"
android:textStyle="bold"/>
</LinearLayout>
</android.support.v7.widget.CardView>
transazione:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
View image = mRootView.findViewById(R.id.share_image);
CurrentWorkoutFragment secondFragment = CurrentWorkoutFragment.newInstance();
secondFragment.setSharedElementEnterTransition(TransitionInflater.from(getActivity()).inflateTransition(R.transition.transition_move));
FragmentTransaction trans = getFragmentManager().beginTransaction();
trans.replace(R.id.container, secondFragment);
trans.addToBackStack(null);
trans.addSharedElement(image, image.getTransitionName());
trans.commit();
}
transition_move.xml
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform />
<changeBounds/>
</transitionSet>
Ma nessuna animazione immagine accade. Appare nell'angolo in alto a sinistra e ridimensiona.
che l'animazione è interessante. Direi che se usi un elenco di frammenti, quando fai clic su un frammento inizia e l'animazione diventa tutto schermo. Tutte le viste in più sono già nel frammento ma sono nascoste a cambiare in qualche modo – VirtualProdigy