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


GestureDetector va chertish bilan ishlash


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

GestureDetector va chertish bilan ishlash

Flutter-da biz boshqa vidjet uchun chertish funksiyasini qo'shishimiz mumkin. Buning uchun GestureDetector sinfidan foydalaniladi.


Ushbu sinfning konstruktori ko'plab parametrlarni o'z ichiga oladi, shuning uchun biz eng asosiylarini ko'rib chiqamiz. Xususan, bola parametri bosish qobiliyati qo'shilgan ichki vidjetni o'rnatishga imkon beradi. Agar GestureDetector-da ichki o'rnatilgan vidjet bo'lmasa, u ota-konteynerning butun maydonini egallab, uning butun maydonini bosish mumkin qiladi.


GestureDetector konstruktori barcha mumkin bo'lgan bosishlarni boshqarish uchun turli parametrlarni taqdim etadi. Oddiy teginish uchun harakat onTap parametri yordamida o'rnatilishi mumkin.


Masalan, Konteyner vidjetini bosish mumkin qilish uchun GestureDetector-dan foydalanamiz:




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';
void main() {
runApp(MaterialApp(
home: Scaffold(
body: Counter(),
appBar: AppBar(title: Text("METANIT.COM")),)
));
}
class Counter extends StatefulWidget{
Counter({ Key key}) : super(key: key);
@override
_CounterState createState() => _CounterState();
}
class _CounterState extends State{
int _value = 0;
_increaseValue(){
setState(() =>_value++);
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: _increaseValue,
child: Container(
color: Colors.lightBlueAccent,
padding: const EdgeInsets.all(10),
margin: const EdgeInsets.all(10),
child: Text("Value: $_value", style: TextStyle(fontSize: 22)),
),
);
}
}

Bunday holda, onTap klassi parametri Counter vidjetining holatini o'zgartiruvchi _increaseValue () usuliga ishora qiladi. Xususan, u _value o'zgaruvchisining qiymatini bittaga oshiradi.


GestureDetector uchun ichki vidjet Konteyner elementida joylashgan bo‘lib, u o‘z navbatida Matn vidjetini o‘z ichiga oladi. Va Matn _value o'zgaruvchisining qiymatini chiqaradi. Ya'ni, Konteyner vidjeti egallagan maydonni bosish orqali _increaseValue () usuli ishga tushadi.



Xuddi shunday, siz bosishlarni murakkabroq ierarxiyaga ega bo'lgan boshqa vidjetlarga qo'shishingiz yoki bosishlarni boshqaradigan o'zingizning vidjetlaringizni yaratishingiz mumkin.




Download 1.13 Mb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   27




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