Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
393 of 1024 menu
◀ ▶

Метод jumpTo

Метод jumpTo класса ScrollController сразу ставит прокрутку на заданное смещение. Смещение задают в логических пикселях. Анимации нет.

Синтаксис

controller.jumpTo(120)

Параметры

Параметр Описание
offset Смещение прокрутки в логических пикселях. Позиционный аргумент.

Пример

Давайте вызовем его в простом экране:

import 'package:flutter/material.dart'; class ScrollDemo extends StatefulWidget { @override State<ScrollDemo> createState() => _ScrollDemoState(); } class _ScrollDemoState extends State<ScrollDemo> { late final ScrollController controller = ScrollController(); @override Widget build(BuildContext context) { controller.jumpTo(120); return ListView.builder( controller: controller, itemCount: 30, itemBuilder: (c, i) => ListTile(title: Text('abcde')), ); } } void main() { runApp(MaterialApp(home: Scaffold(body: ScrollDemo()))); }

На экране список сместится после вызова метода.

Пример

Давайте повторим вызов с другими числами:

import 'package:flutter/material.dart'; class ScrollDemo2 extends StatefulWidget { @override State<ScrollDemo2> createState() => _ScrollDemo2State(); } class _ScrollDemo2State extends State<ScrollDemo2> { late final ScrollController controller = ScrollController(); @override Widget build(BuildContext context) { controller.jumpTo(240); return ListView.builder( controller: controller, itemCount: 25, itemBuilder: (c, i) => ListTile(title: Text('12345')), ); } } void main() { runApp(MaterialApp(home: Scaffold(body: ScrollDemo2()))); }

На экране видна другая часть списка после второго вызова.

Смотрите также

  • класс ScrollController,
    который часто ставят рядом в прокручиваемых экранах
  • метод animateTo,
    который дополняет работу с прокруткой
  • виджет ReorderableDelayedDragStartListener,
    который помогает собрать сложный список
  • метод dispose,
    который задаёт поведение или данные прокрутки
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить