Мое приложение прокрутки очень быстро! Как ограничить скорость прокрутки прокрутки в приложении для Android? Прокрутка может быть очень быстрой, и бессмысленно прокручивать эту скорость.Ограничение скорости для просмотра прокрутки
ответ
Эта ветка старая, но я отвечу с частичным решением: ограничение скорости движения. Не стесняйтесь комментировать, поэтому я могу улучшить свое решение.
Как описано в руководстве по подготовке кадров Разработчик:
швыряя тип прокрутки, что происходит, когда пользователь перетаскивает и быстро поднимает палец.
Вот где мне нужен предел скорости. Таким образом, в пользовательском ScrollView (горизонтальном или вертикальном) переопределить метод fling.
@Override
public void fling(int velocityY) {
int topVelocityY = (int) ((Math.min(Math.abs(velocityY), MAX_SCROLL_SPEED)) * Math.signum(velocityY));
super.fling(topVelocityY);
}
Я обнаружил, что velocityY (в горизонтальной Scrollview, было бы velocityX) может находиться в диапазоне от -16000 и 16000. Отрицательная просто означает, что прокрутка назад. Я все еще тестирую эти значения, и я тестировал их только на одном устройстве. Не уверен, что это то же самое в старых версиях устройств/API. Я вернусь позже, чтобы отредактировать это.
(int) ((Math.min(Math.abs(velocityY), MAX_SCROLL_SPEED)) * Math.signum(velocityY));
Что я делаю там получить минимальное значение между моим постоянным MAX_SCROLL_SPEED и оригинальным velocityY, а затем получить знак оригинального velocityY. Нам нужен знак для прокрутки назад.
И наконец, отправка назад измененной скоростиY.
Это частичное решение, потому что если пользователь продолжает нажимать прокрутку, скорость не изменится.
Снова, не стесняйтесь улучшать свой ответ, я все еще участвую.
Я думаю, используя таймер, вы можете ограничить скорость прокрутки. посмотрите на эту ссылку Android: HorizontalScrollView smoothScroll animation time
ObjectAnimator anim = ObjectAnimator.ofInt(mScrollView, "scrollY", mScrollView.getBottom());
anim.setDuration(9000);
anim.start();
Он остановился до конца нижней части scrollView. –
Вот как я достиг гладкой вертикальной прокрутки (например, фильмов). Это также позволяет пользователю перемещать прокрутку вверх и вниз и позволять ей продолжать прокрутку, когда они отпускают. В моем XML я инкапсулировал свой TextView внутри ScrollView под названием «scrollView1». Наслаждайтесь!
final TextView tv=(TextView)findViewById(R.id.lyrics);
final ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView1);
Button start = (Button) findViewById(R.id.button_start);
Button stop = (Button) findViewById(R.id.button_stop);
final Handler timerHandler = new Handler();
final Runnable timerRunnable = new Runnable() {
@Override
public void run() {
scrollView.smoothScrollBy(0,5); // 5 is how many pixels you want it to scroll vertically by
timerHandler.postDelayed(this, 10); // 10 is how many milliseconds you want this thread to run
}
};
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timerHandler.postDelayed(timerRunnable, 0);
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timerHandler.removeCallbacks(timerRunnable);
}
});
Не могли бы вы рассказать мне, как остановить бег, когда прокрутка достигла дна? См. [Link] (http://stackoverflow.com/questions/33281780/how-to-stop-auto-scroll-when-it-reached-the-bottom). – AlexKost
- 1. Ограничение скорости/ограничение скорости в PHP
- 2. Средства для наложения стружки: ограничение скорости?
- 3. Ограничение скорости процессора для профилирования
- 4. Ограничение скорости для контроллеров рельсов
- 5. Ограничение прокрутки для UITableView
- 6. Ограничение скорости регистрации API
- 7. netfilter ограничение скорости
- 8. Ограничение скорости Twitter
- 9. Ftp: ограничение скорости передачи
- 10. Сельдерей (Django) Ограничение скорости
- 11. Ограничение скорости Firebase
- 12. Django: Простое ограничение скорости
- 13. Предотвращение спама (ограничение скорости)
- 14. Twitter Ограничение скорости
- 15. Ограничение скорости API API
- 16. Twitter Случайное ограничение скорости
- 17. Robotium прокрутки для просмотра
- 18. Ограничение скорости сети
- 19. Ограничение скорости с Bacon.JS
- 20. Ограничение скорости передачи TCP
- 21. Ограничение скорости Google API
- 22. Yii2 Ограничение скорости Api
- 23. Ограничение скорости OkHttp API
- 24. Ограничение скорости записи
- 25. pubsub Ограничение динамической скорости
- 26. Ограничение скорости текущей дороги
- 27. openvswitch, OpenFlow, ограничение скорости
- 28. Расчет и установка скорости прокрутки объекта в окне просмотра
- 29. Различные скорости прокрутки Android
- 30. JQuery прокрутки скорости
Какова Ваша ценность для 'MAX_SCROLL_SPEED'? –