特定のビューの位置変更をリッスンする必要があります。ビューは、リストビューやリサイクラビューの項目にすることも、スクロールビューやネストされたスクロールビューなどの子にすることもできます。ただし、ビューの画面内の位置が変更されたときはいつでもx、y座標が更新されています)、通知する必要があります。私はビューの移動リスナーを設定する方法
view.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View view, int i, int i1, int i2, int i3) {
Log.d(TAG, "Position changed");
}
});
と
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Log.d(TAG, "Layout changed");
}
});
を試してみました。しかし、私はまたGestureDetectorCompat
を試してみましたが、情事の間に、X、Y位置は正確ではありません
を動作するようには思えません。
私の問題の解決策はありますか?私の問題がはっきりしていることを願って前もって感謝します!!
実際に達成しようとしていることを教えてください。これは正しい方法ではないようです。 –
基本的に私は2つのビューを持っています。 1つは私のツールバーで、もう1つはツールバーの下にあるアクティビティ(またはフラグメント)のどこにでも置くことができます。この底面図がツールバーに近づくと、ツールバーのテキストと背景の強度を変更する必要があります(ツールバーのタイトルのアルファ値を変更したり、ツールバーの背景色を薄くするなど)。また、ツールバーから離れるときもあります。だから私はいつもこのビューがツールバーからどのくらい先にあるのか知る必要があります。 – Drd
また、このビューは、リストビューのタイトルや通常の線形レイアウトなど、画面内の任意の場所に配置できます。異なる画面に基づいています。私の要件を理解するのに役立ちますか? – Drd