画面の右上隅 (またはどこでも) にビューがあります。このビューを特定の位置にアニメーション化したいと思います。この位置は、別の xml-layout によって定義されます。他のレイアウト内のビューの座標を特定するにはどうすればよいですか?この位置にアニメーション化できますか?
背景: ビューの右上隅に電卓が表示されているとします。ユーザーがこの電卓ビューをクリックすると、より現在の場所にアニメーション化されます。このアニメーションの後、現在のフラグメントは、まったく同じビュー (および他のビュー) と電卓ロジックを含む CalculatorFragment に置き換えられます。目標は、CalculatorFragment の xml-layout によって定義された正確な位置に計算機をアニメーション化することです。このようにして、「シームレスな」FragmentTransition を作成できます。
この質問のもう 1 つの言い方は、「ビューを画面に表示せずにビューの位置を知るにはどうすればよいですか?」ということです。
これまでで最も有望なアプローチはこれでした(ただし、座標としてゼロしか得られません):
View fragmentView = getActivity().getLayoutInflater().inflate(R.layout.fragment_calculator, null);
View calc = fragmentView.findViewById(R.id.includeCalculator);
int[] coords = new int[2];
calc.getLocationInWindow(coords);
pictureframe.setAnimateToX(coords[0]);
pictureframe.setAnimateToY(coords[1]);
Log.v(TAG, "X: " + coords[0] + " Y: " + coords[1]);
ありがとう!