7
大家好! 我有2個片段。在片段中,我有一張卡片中的小圖片。在2d片段中,我的佈局標題中有相同的圖像。我想使該圖像的共享單元轉變從一個片段到另一個像在本實施例中http://1.bp.blogspot.com/-Vv4SxVSI2DY/VEqQxAf3PWI/AAAAAAAAA7c/mfq7XBrIGgo/s1600/activity_transitions%2B(1).gifAndroid共享元素片段轉換
2D片段:
<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"/>
第一片段:
<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>
交易:
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>
但沒有圖像的動畫時。它出現在左上角的調整大小。
該動畫有趣的是添加一個
<changeTransform/>
。我會說,如果你使用一個片段列表,當你點擊一個片段開始,動畫佔據全屏幕。所有額外的視圖都已經在片段中,但它們隱藏在某種標誌變化中 – VirtualProdigy 2015-08-20 20:56:02