Reja. Kross-platformali dasturlash tili haqida umumiy ma`lumot


-bob. Flutterdagi ro'yxatlar



Download 0,98 Mb.
bet35/39
Sana07.03.2022
Hajmi0,98 Mb.
#485533
1   ...   31   32   33   34   35   36   37   38   39
Bog'liq
j7WNgrIuzYyWbItD7qqrNdYOmEd13B0L

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 0,98 Mb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   39




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish