SherlockGougou / BigImageViewPager

🔥🔥🔥 BigImage ImageView ViewPager 支持超长图、超大图的图片浏览器,优化内存,支持手势放大、下拉关闭、查看原图、加载百分比、保存图片等功能。
Other
2.15k stars 248 forks source link

增加打开图片时的共享元素过渡动画 #132

Closed equationl closed 3 years ago

equationl commented 3 years ago

使用方法: 1.首先在调用图片预览的view(共享view)增加: android:transitionName="shared_element_container_name" 例如:

 <com.google.android.material.card.MaterialCardView
    android:id="@+id/main_cardView_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:transitionName="shared_element_container_name" > 

2.在调用图片预览的 Acticity 的 onCreate 方法中增加 MaterialContainerTransformSharedElementCallback(),例如:

  getWindow.requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS)
  setExitSharedElementCallback(new MaterialContainerTransformSharedElementCallback())
  getWindow.sharedElementsUseOverlay = false

  super.onCreate(bundle)
  setContentView(R.layout.activity_a)
  ...

详见:Container transform

3.在调用 start() 前增加: setTransitionView(view)setTransitionShareElementName(name)

例如:

ImagePreview
            .getInstance()
            .setContext(MainActivity.this)
            .setImage(String image)
            .setTransitionView(findViewById(R.id.main_cardView_layout))
            .setTransitionShareElementName("shared_element_container_name")
            .start();