Flutter ramka uchun qo'llanma 1-bob. Flutterga kirish Flutter nima. O'rnatish
Download 1.13 Mb.
|
Flutter ramka uchun qo\'llanma 1-bob. Flutterga kirish Flutter ni
Ro'yxatdagi elementni tanlash
Odatiy bo'lib, ListView tanlangan elementni kuzatishni qo'llab-quvvatlamaydi va bunday vaziyatda biz o'zimiz elementni tanlash bilan shug'ullanish uchun butun infratuzilmani yaratishimiz kerak. Bunday holda, biz ilgari muhokama qilingan GestureDetector vidjetidan foydalanishimiz mumkin, bu bizga bosishni kuzatish imkonini beradi. Masalan, quyidagi kodni aniqlaymiz:
Shunday qilib, bu holda, yangi vidjet aniqlanadi - UsersList, u holatni saqlashi mumkin. Uning barcha holati _UsersListState sinfiga kiritilgan _UsersListState foydalanuvchilar ro'yxatini saqlaydi - ListViewda ko'rsatiladigan haqiqiy ma'lumotlar:
Tanlangan elementni kuzatib borish uchun bizga uning indeksi kerak. Va foydalanuvchilar ro'yxatidan tanlangan element indeksini saqlash uchun alohida o'zgaruvchini aniqlaymiz:
Odatiy bo'lib, u -1 bo'lib, u hali hech qanday element tanlanmaganligining belgisi sifatida ishlaydi. ListView-da element tanlangandan so'ng, bu o'zgaruvchi tanlangan element indeksini ushlab turadi. Tashkiliy jihatdan barcha vidjetlar Ustun konteyneriga joylashtiriladi, unda birinchi vidjet - Matn tanlangan elementning qiymatini ko'rsatadi (agar mavjud bo'lsa):
ListView konteyner maydonini to'ldirishda muammolarga duch kelmasligi uchun biz ushbu vidjetni Expander konteyneriga joylashtiramiz. Va ListView-ni to'ldirish aniqlik uchun alohida _createListView usuliga o'tkaziladi. Eslatib o'taman, ListView konstruktorida itemBuilder parametri element indeksini ikkinchi parametr sifatida qabul qiluvchi funktsiyani oladi:
Shunday qilib, _createListView usuli parametridan biz joriy elementning indeksini olishimiz va u bilan biror narsa qilishimiz mumkin. ListView-dagi element uchun yuqori darajadagi konteyner bosishlarni boshqaradigan GestureDetector vidjetidir. Bosilganda funksiya ishga tushadi, u GestureDetector vidjetining onTap parametri orqali uzatiladi:
Bu erda biz vidjet holatini bosilgan element indeksini tanlanganIndex o'zgaruvchisiga o'tkazish orqali o'zgartiramiz. GestureDetector-ning o'zi Konteyner vidjetini o'z ichiga oladi va u foydalanuvchilar ro'yxatidagi qatorni ko'rsatadigan Matn vidjetini o'z ichiga oladi. Tanlangan elementni ajratib ko'rsatish uchun Konteyner vidjetida fon rangi joriy indeks tanlangan element indeksi ekanligiga qarab o'rnatiladi:
Natijada, biz ListView-da elementlarni tanlashimiz va ularni olishimiz mumkin bo'ladi: Download 1.13 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling