2016-10-26 10 views
0

移行が機能していない場合、最初のイメージビューにはドロアブルが表示されますが、アニメーションの実行中は白い画面で終了します。私は何が欠けているか分からない。共有要素の遷移が機能しない、空白の画面

メインレイアウト

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<ImageView 
    android:id="@+id/main_image" 
    android:transitionName="@string/transition_string" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:src="@drawable/image"/> 
</RelativeLayout> 

セカンド活動レイアウト

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<ImageView 
    android:id="@+id/second_image" 
    android:transitionName="@string/transition_string" 
    android:layout_width="match_parent" 
    android:layout_height="300dp"/> 
</RelativeLayout> 

主な活動

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     findViewById(R.id.main_image).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       animate(); 
      } 
     }); 
    } 

    public void animate() { 
     Intent intent = new Intent(this, SecondActivity.class); 
     String transitionName = getString(R.string.transition_string); 
     View viewStart = findViewById(R.id.main_image); 
     ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, viewStart, transitionName); 
     ActivityCompat.startActivity(this, intent, options.toBundle()); 
    } 
} 

セカンド活動

public class SecondActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second); 
    } 
} 

スタイル

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 

    <item name="android:windowContentTransitions">true</item> 
</style> 
+0

このgithubリポジトリをご覧になることをお勧めします。その本当に素晴らしいと多くのあなたを助けるでしょう.https://github.com/lgvalle/Material-Animations – Raghunandan

答えて

2

ことなど、second_imageするSRCを追加します。

<ImageView 
android:id="@+id/second_image" 
android:transitionName="@string/transition_string" 
android:layout_width="match_parent" 
android:layout_height="300dp" 
android:src="@drawable/image"/> 
+0

素晴らしい、それは完全に働いた!しかし、グライドやピカソなどのライブラリを使って最初の画像ビューを設定するとどうなりますか?そのような場合、私のソースはxmlに設定されていませんか? –

+0

次に、2番目のアクティビティでイメージビューを再度設定する必要があります。関連するビットマップをバイト配列として渡すことができます。 [ここにそれのためのリンクです](http://stackoverflow.com/questions/11010386/send-bitmap-using-intent-android) それはあなたのために働く場合、あなたはまた、答えをチェックすることができます。 :) –

関連する問題