問題が何ですか。
問題がTransition#captureValues()
機能から来てif
文:
void captureValues(ViewGroup sceneRoot, boolean start) {
clearValues(start);
if ((mTargetIds.size() > 0 || mTargets.size() > 0)
&& (mTargetNames == null || mTargetNames.isEmpty())
&& (mTargetTypes == null || mTargetTypes.isEmpty())) {
...
} else {
captureHierarchy(sceneRoot, start);
}
...
}
最初の文では、あなたのaddTarget(ImageView.class)
は無視することになりその、else
ケースが実行されるので、渡しません。
最初の声明が合格しなかったのはなぜですか?
addTarget(Class)
will changemTargetTypes
フィールドなので、このように両方mTargetIds
とmTargets
は空のままにされるだろう。
代わりにaddTarget(int)
を実行してください。will changemTargetIds
です。
が
Slide transition = new Slide(Gravity.END);
transition.addTarget(R.id.some_imageview);
setExitTransition(transition);
setReturnTransition(transition);
必要はtransition.excludeTarget()
を行わないようにaddTarget()
docsに記載されているようにするので、::
設定targetIdsだけをリッスンへの移行を制限し、そして
したがって、ここではあなたの移行がどのように見えるかですこれらのIDを使ってビューを操作します。 IDが異なるビュー、またはIDがまったくないビューは無視されます。
このコードではどうなりますか? – azizbekian
リサイクルビュー全体を除外するだけです。私のrecyclerviewアイテムの1つにイメージビューがあります。これは、 'transition.addTarget(ImageView.class);' – santalu