3
我有一個共同的元素轉變工作時`RecyclerView項目點擊開始詳細的活動,但對項目的點擊產生的連鎖反應是不可見的波及效應不會與共享元素的過渡和RecyclerView
啓動活動與共享過渡族
Intent intent = IntentUtils.createDetailsIntent(InspectionListFragment.this.getContext(), record);
Bundle options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
view, getString(R.string.transition_element)).toBundle();
getActivity().startActivity(intent, options);
我注意到了這個日誌消息
D/OpenGLRenderer: endAllStagingAnimators on 0x95e86600 (RippleDrawable) with handle 0xaa6c2760
如果我刪除過渡,漣漪效果(我沒有看到這個消息)。
延遲活動開始使用處理器
如果我使用一個處理器與postDelayed
啓動活動中,結果喜憂參半。我看到了漣漪,但過渡並不順利:
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = IntentUtils.createDetailsIntent(InspectionListFragment.this.getContext(), record);
Bundle options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
view, getString(R.string.transition_element)).toBundle();
getActivity().startActivity(intent, options);
}
}, 200);
使用的ListView
注意使用ListView
同一項目的佈局和makeSceneTransitionAnimation
工作正常。不幸的是,這不合適。
的項目佈局
<LinearLayout
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
有完全相同的問題 – jiawen
我還沒有找到更好的解決方案。我有興趣瞭解爲什麼'ListView'和'RecyclerView'之間存在這樣的區別。 – sidecarcat