O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD ALXORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG’ONA FILIALI KOMYUTER INJINIRING FAKULTETI
“Mobil ilovalar ishlab chiqish”fanidan
3-deadline
Mavzu: Android Studio muhitida menyular va dialoglar bilan ishlash.
Menyular Menyular ko'plab turdagi dasturlarda keng tarqalgan foydalanuvchi interfeysi komponentidir. Tanish va izchil foydalanuvchi tajribasini ta'minlash uchun siz MenuAPI-lardan foydalanuvchi xatti-harakatlari va faoliyatingizdagi boshqa variantlarni taqdim etish uchun foydalanishingiz kerak .
Android 3.0 (API darajasi 11) dan boshlab, Android-da ishlaydigan qurilmalar maxsus Menyu tugmachasini taqdim etishlari shart emas . Ushbu o'zgarish bilan Android ilovalari an'anaviy 6 elementli menyu paneliga bog'liqlikdan chiqib ketishi kerak va buning o'rniga foydalanuvchilarning umumiy harakatlarini taqdim etish uchun ilovalar panelini ta'minlashi kerak.
Ba'zi bir menyu elementlari uchun dizayn va foydalanuvchi tajribasi o'zgargan bo'lsa ham, harakatlar va variantlar to'plamini aniqlash uchun semantika hali ham MenuAPI-larga asoslangan . Ushbu qo'llanmada uchta asosiy turdagi menyularni yoki Android-ning barcha versiyalarida aksiyalar taqdimotlarini qanday yaratish mumkinligi ko'rsatilgan:
Variantlar menyusi va ilovalar paneli Imkoniyatlari menyu faoliyat uchun menyu ob'ektlar asosiy to'plam. Bu erda siz "Qidirish", "Elektron pochta xabarlarini yozish" va "Sozlamalar" kabi dasturga global ta'sir ko'rsatadigan amallarni joylashtirishingiz kerak.
Kontekst menyu Android platformasi sizning ilovalaringizda foydalanishingiz mumkin bo'lgan bir nechta standart menyularni taqdim etadi. Kontekst menyusi foydalanuvchilar foydalanuvchi interfeysi elementlarini uzoq bosib, elementni bosib, menyu paydo bo'lguncha ushlab turganda paydo bo'ladi. Android foydalanuvchilari odatda ushbu turdagi menyularga odatlanib qolishgan, chunki bu asosiy ekran piktogrammalarini o'zgartirish kabi tizim funktsiyalari uchun standartdir. Android ishlab chiquvchilari qo'llanmasi kontekst menyusini kompyuterni o'ng tugmasini bosish bilan taqqoslaydi. Kontekst menyusini amalga oshirish to'g'ridan-to'g'ri va ko'plab dasturlarning asosiy tarkibiy qismidir.
Agar sizning dastur paketingizda "res" resurslar katalogida "menyu" papkasi bo'lmasa, uni yarating. Menyu papkasida menyuingiz uchun yangi XML fayl yarating va uni o'zingiz tanlagan nom bilan saqlang. Ushbu faylda siz kontekst menyusida paydo bo'ladigan narsalarni aniqlaysiz. Siz quyidagi koddan foydalanishingiz mumkin:
Menyu manbasini yarating
Kontekst menyusini taqdim etishni istagan foydalanuvchi interfeysi elementida uzoq bosib turishni tinglash uchun Android-ga ko'rsatma berishingiz kerak. Faoliyatingizning "onCreate" usuli ichiga o'zingizning ilovangiz ma'lumotlariga mos ravishda o'zgartirishlar kiritib, quyidagi kodni qo'shing:
//get a reference to the view for pressing
TextView pressView = (TextView)findViewById(R.id.press);
//register if for context
registerForContextMenu(pressView);
O'zingizning ko'rish elementingiz uchun ishlatgan ID atributini XML layout faylida ushbu press "press" dan foydalangan holda ko'rsating. Bu sizning ilovangizga ko'rsatilgan ko'rish elementini uzoq bosib bosgan foydalanuvchilarni aniqlashni buyuradi. Bu sodir bo'lganda, dastur "onCreateContextMenu" usulini chaqiradi, unda siz kontekst menyusi resursidan foydalanishni buyurishingiz mumkin.
Menyu manbangizdan foydalaning
Siz Android-ga ro'yxatdan o'tgan ko'rinish elementi uchun kontekst menyusi sifatida o'zingiz yaratgan XML menyu resursidan foydalanishni xohlayotganingizni bildirishingiz kerak. Faoliyat sinfingizga quyidagi usulni qo'shing:
O'zingizning kontekst menyusi XML fayli uchun tanlagan fayl nomini aks ettirish uchun, agar kerak bo'lsa, uni o'zgartiring. Ushbu misolda namoyish qilish uchun "lovely_context.xml" nomli menyu fayli ishlatiladi.
Uzoq presslarni amalga oshirish
Faoliyat sinfingiz endi ko'rish elementidagi uzoq bosib turishni aniqlaydi, ammo menyuingizdagi har bir element tanlanganida nima bo'lishini aniqlab olishingiz kerak. Sinfingizga quyidagi usulni qo'shing:
01
02
03
04
05
06
07
08
09
10
11
public boolean onContextItemSelected(MenuItem item) {
//find out which menu item was pressed
switch (item.getItemId()) {
case R.id.option1:
doOptionOne();
return true;
case R.id.option2:
doOptionTwo();
return true;
default:
return false;
}
}
XML faylida menyu elementlarini bergan identifikator xususiyatlarini aks ettirish uchun ish holatlarini o'zgartiring. Switch operatori foydalanuvchi qaysi menyu parametrini tanlaganligini tekshirish uchun uzatilgan menyu elementi parametridan foydalanadi.
Kontekstni tanlash usullarini qo'shing
Har bir kontekst menyusi variantiga bag'ishlangan usullarni belgilash sizning Faoliyat sinfingizni yaxshi tartibda ushlab turadi, shuning uchun switch bayonotiga kiritilgan har birini qo'shing. Quyidagi namunaviy usullar printsipni namoyish etadi:
private void doOptionOne() {
Toast.makeText(this, "Option One Chosen...", Toast.LENGTH_LONG).show();
}
//method to execute when option two is chosen
private void doOptionTwo() {
Toast.makeText(this, "Option Two Chosen...", Toast.LENGTH_LONG).show();
}
Ushbu usullar shunchaki namoyish qilish uchun interfeysga qisqa xabar yozadi.