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


-bob. Konteynerlar va joylashtirishni boshqarish



Download 0,98 Mb.
bet31/39
Sana07.03.2022
Hajmi0,98 Mb.
#485533
1   ...   27   28   29   30   31   32   33   34   ...   39
Bog'liq
j7WNgrIuzYyWbItD7qqrNdYOmEd13B0L

2-bob. Konteynerlar va joylashtirishni boshqarish
Bitta vidjet yoki vidjetlar to‘plamini ma’lum bir tarzda tashkil qilish va joylashtirish uchun maxsus vidjetlar – vidjetlar (shu jumladan, boshqa konteynerlar) joylashuvini boshqaruvchi maket vidjetlari qo‘llaniladi. Flutterda bu vidjetlar guruhi juda keng tarqalgan. Keling, ulardan ba'zilarini ko'rib chiqaylik.
Align
Align vidjeti konteynerning ma'lum bir tomoniga nisbatan joylashtirilgan elementni joylashtirish imkonini beradi. Odatiy bo'lib, u idishning to'liq kengligi va balandligi bo'ylab cho'zilib, uning butun maydonini to'ldiradi. Vidjet yaratish uchun quyidagi konstruktordan foydalaniladi:

1

Align({Key key, AlignmentGeometry alignment: Alignment.center, double widthFactor, double heightFactor, Widget child})

Konstruktorning imzosidan ko'rinib turibdiki, uning barcha parametrlari ixtiyoriy. Idishning ma'lum bir chetiga tekislash qo'llaniladigan ichki elementni o'rnatish uchun bola parametridan foydalaniladi - har qanday Vidjet ob'ekti, ya'ni har qanday vidjet uning vazifasini bajarishi mumkin.
widthFactor va heightFactor qo'shimcha parametrlari - bu markaz vidjetining eni va balandligining ichki o'rnatilgan bolaga nisbatan nisbati. Misol uchun, agar widthFactor 2,0 bo'lsa, u holda Markaz vidjetining kengligi bolaning kengligining 2,0 ga ko'paytirilganiga teng bo'ladi. Xuddi shu narsa heightFactor uchun ham amal qiladi, faqat u balandlikni o'zgartiradi.
Hizalashni o'rnatish uchun AlignmentGeometry sinfini ifodalovchi va quyidagi qiymatlarni olishi mumkin bo'lgan hizalama parametri ishlatiladi:
Alignment.bottomCenter: gorizontal ravishda markazga, vertikal ravishda idishning pastki chetiga (pastki markaz) tekislanadi. Alignment bilan bir xil (0,0, 1,0) Alignment.bottomLeft: gorizontal ravishda chapga, vertikal ravishda idishning pastki qismiga (pastki chap) tekislanadi. Hizalama qiymati bilan bir xil (-1,0, 1,0)
Alignment.bottomRight: gorizontal ravishda o'ngga, vertikal ravishda konteynerning pastki qismiga (pastki o'ngda) tekislanadi. Alignment bilan bir xil (1.0, 1.0)
Alignment.center: markazga gorizontal va vertikal tekislash. Hizalama bilan bir xil (0,0, 0,0)
Alignment.centerLeft: gorizontal ravishda chapga, vertikal ravishda konteyner markaziga tekislanadi. Hizalama bilan bir xil (-1,0, 0,0)
Alignment.centerRight: gorizontal ravishda o'ngga, vertikal ravishda konteyner markaziga tekislanadi. Alignment bilan bir xil (1,0, 0,0)
Alignment.topCenter: gorizontal markazlashtirilgan, konteynerning yuqori qismida vertikal tekislangan (yuqori markaz). Hizalama bilan bir xil (0,0, -1,0)
Alignment.topLeft: gorizontal ravishda chapga, vertikal ravishda konteynerning tepasiga (yuqori chapda) tekislanadi. Hizalama bilan bir xil (-1,0, -1,0)
Alignment.topRight: gorizontal ravishda o'ngga, vertikal ravishda konteynerning tepasiga (yuqori o'ngda) tekislanadi. Hizalama bilan bir xil (1.0, -1.0)
Konstruktordagi alignment parametri AlignmentGeometry sinfini ifodalasa-da, bu erda konstantalar AlignmentGeometry dan meros bo'lgan Alignment sinfini ifodalaydi. Matnni, masalan, chapdan markazga joylashtirish uchun Align vidjetidan foydalanamiz:


1
2
3
4
5
6
7
8
9
10
11
12
13

import 'package:flutter/material.dart';
void main() {
runApp(Align(
alignment: Alignment.centerLeft,
child:Text(
'Текст слева по центру!',
textDirection: TextDirection.ltr, // текст слева направо
style: TextStyle(fontSize: 24) // высота шрифта 24
)
)
);
}



Fractional Ofset
FractionalOffset klassi Alignment sinfidan meros bo'lib, elementni joylashtirish uchun qo'shimcha imkoniyatlarni taqdim etadi. U quyidagi konstruktorga ega:

1

FractionalOffset(double dx, double dy)

Bu erda dx - gorizontal siljish va dy - vertikal siljish. Ofsetlar 0,0 dan 1,0 gacha bo'lgan kasrlarda ifodalanadi, masalan, FractionalOffset (1,0, 0,0) konteynerning yuqori o'ng burchagini, FractionalOffset (0,0, 1,0) esa pastki chap burchakni ifodalaydi. Shunga ko'ra, FractionalOffset (0,5, 0,5) markazdir (gorizontal va vertikal). Kerakli ofsetni ko'rsatib, biz elementni konteynerning ma'lum bir qismiga joylashtirishimiz mumkin. Masalan:



1
2
3
4
5
6
7
8
9
10
11
12
13

import 'package:flutter/material.dart';
void main() {
runApp(Align(
alignment: FractionalOffset(0.2, 0.3),
child:Text(
'Hello Flutter',
textDirection: TextDirection.ltr, // текст слева направо
style: TextStyle(fontSize: 20) // высота шрифта 20
)
)
);
}

FractionalOffset qiymati (0,2, 0,3) ichki o'rnatilgan Matn elementining yuqori burchagi quyidagi koordinatalarda joylashishini bildiradi: X = Align_container_width * 0,2, Y = Align_container_height * 0,3.



Download 0,98 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   39




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©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