У меня был расширен recyclerview, поэтому я могу масштабировать его. Он работает так, как я этого хотел, но теперь я хотел программно прокручивать х количество пикселей. Пользовательская история для этого состоит в том, что если я коснусь верхней половины части экрана, она должна прокручиваться на х количество пикселей, то же самое относится к нижней половине части экрана.Как прокрутить RecyclerView программно с помощью определенных пикселей?
Вот что я сделал:
активность:
@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
// if(mComicViewerFragment != null)
// mComicViewerFragment.consumeEvent(event);
mScaleDetector.onTouchEvent(event);
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
int y = (int) event.getY();
if(y >= mScreenSize.y/2)
{
mComicViewerFragment.scrollBy((int)(mScreenSize.y * 0.10f));
Log.i(ComicApplication.TAG, "ComicViewerActivity.onTouchEvent : You are tapping the lower part : " + y);
}
else
{
mComicViewerFragment.scrollBy((int)(-mScreenSize.y * 0.10f));
Log.i(ComicApplication.TAG, "ComicViewerActivity.onTouchEvent : You are tapping the upper part : " + y);
}
}
return super.dispatchTouchEvent(event);
}
Фрагмент
public void scrollBy(int by)
{
mScalingRecyclerView.smoothScrollBy(0, by);
}
Каждый раз, когда я нажимаю, он не прокручивается на х количество пикселей. Это потому, что я создал пользовательский вид, простирающийся от RecyclerView? Где я должен правильно называть smoothScrollBy? Это должно быть легко, но я застрял.
Не уверен, что если фрагменты работают по-разному для recyclerview но попробуйте это решение - http://stackoverflow.com/questions/30256036/vertical-scroll-the-recyclerview-in-android- by-pixels – Tasos
Я не знаю ... Этот Google известен как. Посмотрите на этот метод, что он говорит? 'SmoothScrollBy'. Документы также понятны, а также «Анимировать прокрутку на заданное количество пикселей вдоль любой оси». Но это не так !!!! –
Ваши товары равны по высоте? – Tasos