Я использую Scrollview
для бесконечной "Карусели таймера" и выяснил, что это не лучший подход (последний вопрос)
Теперь я нашел Recycler View, но Я не могу получить текущее смещение прокрутки в направлении X recyclerView? (Пусть говорят, что каждый элемент имеет ширину 100 пикселей, а второй - только на 50%, поэтому смещение прокрутки составляет 150 пикселей)
- все элементы имеют одинаковую ширину, но therer - некоторый пробел перед первым, после последнего элемента
-
recyclerView.getScrollX()
возвращает0
(говорят: начальное значение прокрутки) -
LayoutManager
имеетfindFirstVisibleItemPosition
, но я не могу вычислить смещение X с этим
UPDATE
Я просто нашел способ отслеживать X-Position, обновляя значение с помощью обратного вызова onScrolled
, но я предпочел бы получать фактическое значение, а не отслеживать его все время!
private int overallXScroll = 0;
//...
mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
overallXScroll = overallXScroll + dx;
Log.i("check","overallXScroll->" + overallXScroll);
}
});