7

mọi người! Tôi có 2 đoạn. Trong một mảnh tôi có một hình ảnh nhỏ trong thẻ. Trong đoạn 2d tôi có cùng một hình ảnh trong tiêu đề bố cục của tôi. Tôi muốn thực hiện chuyển đổi yếu tố chia sẻ hình ảnh này từ một đoạn đến như một trong ví dụ này http://1.bp.blogspot.com/-Vv4SxVSI2DY/VEqQxAf3PWI/AAAAAAAAA7c/mfq7XBrIGgo/s1600/activity_transitions%2B(1).gifChuyển đổi đoạn Android với phần tử được chia sẻ

2d đoạn:

<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"/> 

1 đoạn:

<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> 

giao dịch:

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> 

Nhưng không có hình ảnh động hình ảnh diễn ra. Nó xuất hiện ở góc trên cùng bên trái một thay đổi kích thước.

+0

Đó hoạt hình là thú vị. Tôi muốn nói nếu bạn sử dụng một danh sách các đoạn, khi bạn nhấp vào một đoạn nó bắt đầu và hoạt hình để chiếm toàn bộ màn hình. Tất cả các khung nhìn bổ sung đều đã có trong phân đoạn nhưng chúng được ẩn thành một số cờ thay đổi – VirtualProdigy

Trả lời

0

Kiểm tra câu hỏi this.

Bởi vì quan điểm tôi đang chia sẻ giữa 2 mảnh là con của một view (RelativeLayout) trong đoạn thứ 2, bạn cần phải thêm quá trình chuyển đổi ChangeTransform để TransitionSet của bạn.

Về cơ bản những gì bạn cần là thêm một <changeTransform/> trong transition_move.xml bạn

Các vấn đề liên quan