Чӣ гуна роҳҳои навигатсия дар барнома вуҷуд доранд, ба ғайр аз истифодаи китобхонаи навигатсия?
sobes.tech AI
Ҷавоб аз AI
-
Ачкӣ ниятҳо: Переход байни фаъолиятҳо бо истифодаи
startActivity().// Эҷоди ният барои гузаштан ба NewActivity val intent = Intent(this, NewActivity::class.java) // Илова кардани маълумот ба ният intent.putExtra("data_key", "боз як арзиш") // оғоз кардани фаъолият нав startActivity(intent) -
Номуайян ниятҳо: Идора кардани фаъолиятҳо аз дигар барномаҳо ё қисмҳои системаи.
// Эҷоди ният барои кушодани саҳифаи веб val webpage: Uri = Uri.parse("http://www.android.com") val webIntent = Intent(Intent.ACTION_VIEW, webpage) // Идора кардани фаъолият, ки метавонад ин ниятро коркард кунад startActivity(webIntent) -
DialogFragment: Истифодаи тирезаи муколама барои намоиши маълумот ё гирифтани воридот аз корбар, ки метавонад ба амалҳои минбаъда ё баста шудан оварда расонад.
// Эҷоди намунаи DialogFragment val myDialogFragment = MyDialogFragment() // Намоиш додани муколама myDialogFragment.show(supportFragmentManager, "my_dialog") -
FragmentTransaction: Идоракунии дастӣ дар бораи давраи ҳаёти фрагментҳо дар дохили фаъолият: илова кардан, иваз кардан, нест кардан.
// Гирифтани FragmentManager val fragmentManager = supportFragmentManager // Оғози транзаксия val fragmentTransaction = fragmentManager.beginTransaction() // Иваз кардани фрагменти ҳозира бо нав fragmentTransaction.replace(R.id.fragment_container, newFragment) // Илова кардани транзаксия ба стеки баргардон fragmentTransaction.addToBackStack(null) // Иҷрои транзаксия fragmentTransaction.commit() -
Тарҳрезии як фаъолият бо идоракунии дастӣ дар фрагментҳо: Ҳамаи навигатсия дар дохили як фаъолият бо иваз кардани фрагментҳои намоишӣ амалӣ мешавад. Ин, дар асл, истифодаи мураттабшудаи
FragmentTransactionмебошад. -
Дастгирии View-ҳои махсус: Таҳия кардани навигатсияи мураккаб ва ғайри шаблонӣ бо истифодаи View-ҳои худ, ки вобаста ба ҳолати барнома мегузаранд ё тағир медиҳанд.
| Тарзи навигатсия | Механизми асосӣ | Манфиатҳо | Норасогӣ |
|---|---|---|---|
| Аниқ ниятҳо | Идоракунии дигар Activity бо синф | Пас аз гузариш осон, интиқоли маълумотҳо | Мушкилот бо бисёр экранҳо |
| Номуайян ниятҳо | Идоракунии Activity бо амал/маълумот | Взаимодагӣ бо дигар барномаҳо | Манёврияти маҳдуд барои навигатсияи дохилӣ |
| DialogFragment | Намоиши муколамаи диалогӣ | Намоиши осон ва модалӣ | Барои навигатсияи асосӣ мувофиқ нест |
| FragmentTransaction | Идоракунии ҳаёти фрагментҳо дар Activity | Идоракунии UI-рофо | Манёврияти дастӣ ва ҳолатро талаб мекунад |
| Single-activity + Fragments | Иваз кардани фрагментҳо дар Activity | Барои барномаҳои бо як экран хуб аст | Мушкилот бо шумораи зиёди экранҳо |
| View-ҳои махсус | Логикаи худ барои гузариш UI | Гибкость ва фармоишгардонии максималӣ | Гарчанде ки мураккаб аст дар таҳия ва нигоҳдорӣ |