浮動アクションボタンの位置を、表示されたり消えたりするスナップバーに応じて変更したい。スナックバーは自分でタイムアウトしてもうまくいくが、スナックバーは手動で解除されても機能しない。後者の場合、onDependentViewRemovedの位置を設定したいが、スナップバーをタイムアウトすると、onDependentViewChangedとonDependentViewRemovedの両方が呼び出されるため、いくつかの問題が発生する。したがって、私は何とかonDependentViewChangedまたはonDependentViewRemovedで特定のスナックバーが閉じられたりタイムアウトした場合に検出できるようにしたいと考えています。これらのスナックバーは複数のフラグメントに表示され、それらのすべてにフローティングアクションボタンがあるわけではないため、スナックバーのビューをフローティングアクションボタンに設定することはオプションではありません。浮動アクションボタンの動作でこのようなイベント/状態の検出が可能かどうか誰かが知っているのだろうか?私が今持っているものだAndroid:コーディネーターレイアウトの動作でsnackbarを終了またはタイムアウトすることを検出する
:
@Override
public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
if ((child instanceof FloatingActionMenu ||
child instanceof FloatingActionButton) &&
(dependency instanceof Snackbar.SnackbarLayout ||
dependency instanceof AHBottomNavigation)) {
this.updateTranslation(parent, child, dependency);
}
return false;
}
@Override
public void onDependentViewRemoved(CoordinatorLayout parent, View child, View dependency) {
if ((child instanceof FloatingActionMenu ||
child instanceof FloatingActionButton) &&
dependency instanceof Snackbar.SnackbarLayout) {
this.updateTranslation(parent, child, dependency);
}
}
私が言ったようしかし、位置は台無しにされているか、時にはアプリがクラッシュ両方のメソッドが呼び出される時(スナックバーがタイムアウト)。誰か助けてくれますか?