共享元素實現大圖瀏覽,即recycleView到ViewPager共享動畫setExitSharedElementCallback(及整合高仿微信大圖查看,拖拽退出)

共享元素實現大圖瀏覽,左右滑動共享item改變。

(及整合高仿微信朋友圈大圖查看,拖拽退出。在文章末尾貼出)

 

廢話不多說直接上圖

1、滑動改變item

 

2、滑動列表不可見,列表下滑

 

圖1是本地資源文件展示。目的是怕時間過久,網絡url失效。圖2是網絡url。此時會有網絡問題,圖片一時半會加載不除來,此時會有個延緩加載共享動畫的機制。同時博主還做了對圖片加載進度的操作,有效的避免了這個弊端。如果本文對您有幫助,github請幫忙star下。

 

 


主要是通過2個方法:

1、setExitSharedElementCallback()

2、setEnterSharedElementCallback()

 

 

共享元素動畫頁是可以監聽的,代碼如下

 

getWindow().getSharedElementEnterTransition().addListener(new Transition.TransitionListener() {
    @Override
    public void onTransitionStart(Transition transition) {
        LogUtils.i("共享元素動畫的實現", "onTransitionStart");
        
    }

    @Override
    public void onTransitionEnd(Transition transition) {
        LogUtils.i("共享元素動畫的實現", "onTransitionEnd");
        
    }

    @Override
    public void onTransitionCancel(Transition transition) {

    }

    @Override
    public void onTransitionPause(Transition transition) {

    }

    @Override
    public void onTransitionResume(Transition transition) {

    }
});

 

 

下面是本整合和優化的高仿微信朋友圈大圖查看,拖拽退出(在此感謝作者):

 

●  正常展示:

 

 

 

 

●  支持長圖:

 

 

 

 

●  支持gif動圖:

 

 

 

●  支持視頻:

 

 

 

●  妥善處理好了未加載圖:

 

源碼下載

 

下面是本人github地址,歡迎star

您的關注,是我最大的動力、

github傳送門

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章