HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: списки, flutter, конструктор listview</p>
1 <p>Теги: списки, flutter, конструктор listview</p>
2 <p>Во Flutter существует виджет-класс<strong>ListView</strong>, позволяющий создавать как конечные, так и бесконечные списки виджетов, а также делать их прокручиваемыми, когда они не помещаются на дисплее либо в отведенной области. Давайте рассмотрим, как их создавать.</p>
2 <p>Во Flutter существует виджет-класс<strong>ListView</strong>, позволяющий создавать как конечные, так и бесконечные списки виджетов, а также делать их прокручиваемыми, когда они не помещаются на дисплее либо в отведенной области. Давайте рассмотрим, как их создавать.</p>
3 <p>Говоря о бесконечном списке, мы понимаем перечень элементов, пополняемых по мере необходимости. В мобильных приложениях это встречается повсеместно: в новостных лентах, фотогалереях, списках сообщений и т. п.</p>
3 <p>Говоря о бесконечном списке, мы понимаем перечень элементов, пополняемых по мере необходимости. В мобильных приложениях это встречается повсеместно: в новостных лентах, фотогалереях, списках сообщений и т. п.</p>
4 <p>Сам по себе класс<strong>ListView</strong>имеет несколько конструкторов. Рассмотрим два из них.</p>
4 <p>Сам по себе класс<strong>ListView</strong>имеет несколько конструкторов. Рассмотрим два из них.</p>
5 <h2>Создаем простой список</h2>
5 <h2>Создаем простой список</h2>
6 <p>Конструктор ListView() позволяет создавать простой список текстовых элементов с применением виджет-класса ListView. По дефолту вышеупомянутый конструктор создает в параметре children список из заданных элементов.</p>
6 <p>Конструктор ListView() позволяет создавать простой список текстовых элементов с применением виджет-класса ListView. По дефолту вышеупомянутый конструктор создает в параметре children список из заданных элементов.</p>
7 <p>Что имеем:</p>
7 <p>Что имеем:</p>
8 <ul><li>new Text('') - для создания текстового виджета;</li>
8 <ul><li>new Text('') - для создания текстового виджета;</li>
9 <li>new Divider() - виджет-разделитель, который отображается в виде горизонтальной либо вертикальной полосы (это зависит от направления расположения виджетов).</li>
9 <li>new Divider() - виджет-разделитель, который отображается в виде горизонтальной либо вертикальной полосы (это зависит от направления расположения виджетов).</li>
10 </ul><h2>Создаем бесконечный список</h2>
10 </ul><h2>Создаем бесконечный список</h2>
11 <p>В данном случае используется конструктор ListView.builder() выводящий элементы списка по требованию. С его помощью в параметре<strong>itemBuilder</strong>вызывается функция, обеспечивающая создание новых элементов перечня при прокрутке. Таким образом удается создавать бесконечные списки виджетов.</p>
11 <p>В данном случае используется конструктор ListView.builder() выводящий элементы списка по требованию. С его помощью в параметре<strong>itemBuilder</strong>вызывается функция, обеспечивающая создание новых элементов перечня при прокрутке. Таким образом удается создавать бесконечные списки виджетов.</p>
12 <p>Подробности следующие:</p>
12 <p>Подробности следующие:</p>
13 <ul><li><strong>itemBuilder</strong>- представляет собой обязательный параметр для конструктора ListView.builder(), принимающий в качестве значения функцию, которая отвечает за возвращение виджет-элемента;</li>
13 <ul><li><strong>itemBuilder</strong>- представляет собой обязательный параметр для конструктора ListView.builder(), принимающий в качестве значения функцию, которая отвечает за возвращение виджет-элемента;</li>
14 <li><strong>index</strong>- это переменная типа int. Она принимает значение в диапазоне от 0 до N, причем N - это натуральное число;</li>
14 <li><strong>index</strong>- это переменная типа int. Она принимает значение в диапазоне от 0 до N, причем N - это натуральное число;</li>
15 <li>return new Text('строка $index') - служит для возвращения текстового виджета со значением<strong>index</strong>.</li>
15 <li>return new Text('строка $index') - служит для возвращения текстового виджета со значением<strong>index</strong>.</li>
16 </ul><p>Остается добавить, что вызов функции в<strong>itemBuilder</strong>происходит каждый раз с новым значением<strong>index</strong>, причем в том случае, когда надо заполнить экран либо область, которую занимает<strong>ListView</strong>.</p>
16 </ul><p>Остается добавить, что вызов функции в<strong>itemBuilder</strong>происходит каждый раз с новым значением<strong>index</strong>, причем в том случае, когда надо заполнить экран либо область, которую занимает<strong>ListView</strong>.</p>
17 <p><em>По материалам https://flutter.su/.</em></p>
17 <p><em>По материалам https://flutter.su/.</em></p>
18  
18