Flutter ramka uchun qo'llanma 1-bob. Flutterga kirish Flutter nima. O'rnatish


Download 1.13 Mb.
bet23/27
Sana03.12.2023
Hajmi1.13 Mb.
#1798657
1   ...   19   20   21   22   23   24   25   26   27
Bog'liq
Flutter ramka uchun qo\'llanma 1-bob. Flutterga kirish Flutter ni

4-bob. Flutterdagi ro'yxatlar

ListView vidjeti

ListView vidjeti ob'ektlarning aylantiriladigan ro'yxatini taqdim etadi.


ListView klassi ko'p sonli parametrlarga ega bo'lgan bir nechta konstruktorlarga ega, shuning uchun faqat bir nechta parametrlarga e'tibor qaratamiz:


bolalar: ListViewga qo'shiladigan vidjetlar ro'yxatini ifodalovchi ro'yxati ob'ekti


scrollDirection: elementlarning yoʻnalishini oʻrnatadi. Ikki konstantani belgilaydigan Axis ro'yxatini ifodalaydi:


Axis.gorizontal: gorizontal ro'yxatni o'rnatadi - elementlar chapdan o'ngga (yoki o'ngdan chapga) joylashtirilgan.


Axis.vertical: vertikal ro'yxatni o'rnatadi - elementlar yuqoridan pastgacha tartibga solinadi

Sukut bo'yicha Axis.vertical.

padding: ListView chegaralaridan elementlarni to'ldirishni o'rnatadi, EdgeInsetsGeometry ob'ektini ifodalaydi


teskari: agar rost bo'lsa, elementlarni o'zgartiradi


fizika: ScrollPhysics obyekti yordamida aylantirish parametrlarini o‘rnatadi


Keling, eng oddiy ro'yxatni aniqlaymiz:




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

import 'package:flutter/material.dart';
const double textSize = 22;
void main() {
runApp(MaterialApp(
home: Scaffold(
body: ListView(
padding: const EdgeInsets.all(8),
children:[
Text("Tom", style: TextStyle(fontSize: textSize)),
Text("Alice", style: TextStyle(fontSize: textSize)),
Text("Bob", style: TextStyle(fontSize: textSize)),
Text("Sam", style: TextStyle(fontSize: textSize)),
Text("Kate", style: TextStyle(fontSize: textSize)),
],
),
appBar: AppBar(title: Text("METANIT.COM")),)
));
}

Bunday holda, barcha ListView elementlari Matn vidjeti bilan ifodalanadi:




Aslida, bu ro'yxatni tuzishning eng maqbul usuli emas, chunki bu holda faqat Matn vidjetidagi sarlavha o'zgaradi. Ammo keyin bu tuzilmani qanday soddalashtirish mumkinligini ko'rib chiqamiz.


Odatiy bo'lib, barcha elementlar ustunga joylashtirilgan vertikal ro'yxat yaratiladi. Keling, gorizontal ro'yxatni aniqlaymiz:




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

\
import 'package:flutter/material.dart';
const double textSize = 22;
void main() {
runApp(MaterialApp(
home: Scaffold(
body: ListView(
padding: const EdgeInsets.all(8),
scrollDirection: Axis.horizontal,
children:[
Text("Tom", style: TextStyle(fontSize: textSize)),
Text("Alice", style: TextStyle(fontSize: textSize)),
Text("Bob", style: TextStyle(fontSize: textSize)),
Text("Sam", style: TextStyle(fontSize: textSize)),
Text("Kate", style: TextStyle(fontSize: textSize)),
],
),
),
appBar: AppBar(title: Text("METANIT.COM")),)
));
}

Gorizontal ro'yxat yaratish uchun scrollDirection parametriga Axis.horizontal qiymati uzatiladi. Biroq, natijaga qarasak, elementlar bir-biriga yaqin joylashganligini ko'rishimiz mumkin.



Bunday holda, biz Matn vidjetini to'ldirishni qo'llab-quvvatlaydigan boshqa vidjetga o'rashimiz mumkin:




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

import 'package:flutter/material.dart';
const double textSize = 22;
const double space = 15;
void main() {
runApp(MaterialApp(
home: Scaffold(
body: ListView(
padding: const EdgeInsets.all(8),
scrollDirection: Axis.horizontal,
children:[
Padding(
child: Text("Tom", style: TextStyle(fontSize: textSize)),
padding: EdgeInsets.symmetric(horizontal: space),
),
Padding(
child: Text("Alice", style: TextStyle(fontSize: textSize)),
padding: EdgeInsets.symmetric(horizontal: space),
),
Padding(
child: Text("Bob", style: TextStyle(fontSize: textSize)),
padding: EdgeInsets.symmetric(horizontal: space),
),
Padding(
child: Text("Sam", style: TextStyle(fontSize: textSize)),
padding: EdgeInsets.symmetric(horizontal: space),
),
Padding(
child: Text("Kate", style: TextStyle(fontSize: textSize)),
padding: EdgeInsets.symmetric(horizontal: space),
),
],
),
appBar: AppBar(title: Text("METANIT.COM")),)
));
}

Bunday holda, to'ldirishni yaratish uchun Matn vidjeti o'ngga va chapga teng to'ldirishni o'rnatadigan Paddingga o'ralgan:






Download 1.13 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   27




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling