Мне нужно прислушиваться к изменению позиции определенного вида. Представление может быть в любом месте, например, оно может быть элементом представления списка или ресайклера или может быть дочерним элементом прокрутки или вложенного прокрутки и т. Д. Но всякий раз, когда позиция на экране представления была изменена (всякий раз, когда 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
также, Но в броске, х, у позиции не точны.
Есть ли решение для моей проблемы? Надеюсь, что моя проблема понятна. Заранее спасибо!!
Я думаю, вы должны сообщить нам, что вы на самом деле пытаетесь выполнить. Потому что это не кажется правильным способом. –
В основном у меня есть 2 мнения. Одна из них - это моя панель инструментов, а другая - в любом месте действия (или фрагмента) под панелью инструментов. Поэтому всякий раз, когда этот снизу приближается к панели инструментов, мне нужно изменить интенсивность текста и фона на панели инструментов (например, изменить альфа заголовка панели инструментов и угасать цвет фона панели инструментов). Также, когда он отходит от панели инструментов. Поэтому всегда мне нужно знать, что это представление - это расстояние от панели инструментов впереди. – Drd
Также этот вид может быть в любом месте экрана, например, название списка или обычный линейный макет и т. Д. На основе разных экранов. Помогает ли вам понять мое требование? – Drd