97. Androidda OnBackPressed() ni qanday o'chirib qo'yish mumkin? OnBackPressed() metodini o'chirish uchun, biz Android activity classida o'zgartirishlar qilishimiz lozim. Bundan tashqari, bir Activity classida OnBackPressed() metodini override qilish kerak bo'ladi. OnBackPressed() metodini override qilib, biz uni ishlatish va kod qo'shish uchun mavjud funksiyalar bilan birga tahrirlab qo'yishimiz mumkin.
Misal uchun, Activity classi qolgan activity-lardan birini o'chirishni va quyidagi kodga o'xshash funksiyalar bilan ishlatishni ta'minlash:
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
Yana bir misol uchun, ekranda aksionimizga yordam beruvchi Dialog bor bo'lsa, OnBackPressed() metodini yana qo'yishimiz kerak:
@Override
public void onBackPressed() {
if (dialog.isShowing()) {
dialog.dismiss();
} else {
super.onBackPressed();
finish();
}
}
Bu misolda, ekranda dialog mavjud bo'lsa, u o'chiriladi, aks holda activity o'chiriladi.
98. Androidda StateListDrawable nima? Ba'zi boshqaruv elementlari turli holatlarga ega bo’ladi: bosilgan, tanlangan va hokazo. Ushbu holatlarning ixtiyoriy biriga tasvirlarni o'rnatishingiz mumkin.
StateListDrawable ni tavsiflash uchun har bir komponent holati uchun boshqa Drawable manbasini belgilaydigan XML faylini yaratish kerak. Har bir android:state_* view atributi ikkita qiymatdan birini qabul qilishi mumkin: true yoki false.
Quyidagi holatlar mavjud:
· state_focused – fokusda yoki yo’q
· state_window_focused - имеет ли фокус родительское окно(ota oynada fokus bormi)
· state_enabled – yoqilgan yoki yo’q
· state_checkable – belgilansa bo’ladigan yoki yo’q
· state_checked – belgilangan yoki yo’q
· state_selected – ajratilgan yoki yo’q
· state_activated – faollashtirilgan yoki yo’q
· state_pressed – bosilgan yoki bosilmagan
· state_hovered – kursor component ustidami yoki yo’q (API 11 va undan yuqori)