Guruh
|
F.I.SH
|
653-18
|
Qo’shaqov Asilbek
|
Mavzu: Android studio muhitida menyular va dialog oynalar bilan
ishlash
Reja:
Contextmenu haqida tushuncha
Pupopmenu haqida tushuncha
Navigationmenu haqida tushuncha
Biz bugun android studioda menular bilan ishlashni organamiz.
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:
|
public void onCreateContextMenu(ContextMenu menu,
View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.lovely_context, menu);
}
|
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.
Do'stlaringiz bilan baham: |