Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Android. Π§Π°ΡΡ‚ΡŒ 1Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 10

Автор Π•Π²Π³Π΅Π½ΠΈΠΉ БСнько

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π»Π΅ΠΉΠ°ΡƒΡ‚ – RelativeLayout. Π’ RelativeLayout Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, Π° Π½Π΅ Π² фиксированном порядкС, ΠΊΠ°ΠΊ Π² LinearLayout.

Рассмотрим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«UIRelativeLayoutΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит вью рСдактирования тСкста ΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π—Π΄Π΅ΡΡŒ внСшнСй Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ вью являСтся RelativeLayout. Π’ Π½Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π½Π° экранС – EditTextView ΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, подписанныС Β«OKΒ» ΠΈ Β«CancelΒ». Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π±Π»ΠΈΠΆΠ΅, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° «ОК» Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π° ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ родитСля (это – ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ располоТСниС) ΠΈ Π½ΠΈΠΆΠ΅ поля рСдактирования тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСтся Π΅Π³ΠΎ ID. А ΠΊΠ½ΠΎΠΏΠΊΠ° Β«CancelΒ» Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π° cΠ»Π΅Π²Π° ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ОК», ΠΈ Π΅Π΅ Π²Π΅Ρ€Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ ΠΏΠΎ Π²Π΅Ρ€Ρ…Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ОК».

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π»Π΅ΠΉΠ°ΡƒΡ‚ – TableLayout. Π’ TableLayout Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты располоТСны Π² строки ΠΈ столбцы. Рассмотрим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«UITableLayoutΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ располоТСны Π² строках, Π° каТдая строка содСрТит элСмСнты, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ столбцы.

Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π»Π΅ΠΉΠ°ΡƒΡ‚Π°, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ TableLayout, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ нСсколько строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (TableRow). Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΅ΡΡ‚ΡŒ нСсколько вью, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ прСдполагаСтся, находятся Π² столбцах.

Но, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ столбСц layout_column. НапримСр, Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚ Π² Π½ΡƒΠ»Π΅Π²ΠΎΠΌ столбцС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Android, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС тСкстовая вью Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π² столбСц 1, Π° Π½Π΅ Π² Π½ΡƒΠ»Π΅Π²ΠΎΠΌ столбцС. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ эта тСкстовая вью опрСдСляСт gravity (ΠΏΡ€ΠΈΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ) Π²ΠΏΡ€Π°Π²ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ тСкст вьюшки Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сдвинут Π²ΠΏΡ€Π°Π²ΠΎ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π»Π΅ΠΉΠ°ΡƒΡ‚ – GridView, располагаСт свои Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ сСткС с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

Рассмотрим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«UIGridViewΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ считываСт Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π·Π°Ρ‚Π΅ΠΌ автоматичСски расставляСт ΠΈΡ… Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ сСткС. Если ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· этих ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ запустится другая Activity, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим исходный ΠΊΠΎΠ΄. ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π»Π΅ΠΉΠ°ΡƒΡ‚-Ρ„Π°ΠΉΠ» main.xml, Π³Π΄Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ элСмСнт GridView. Π—Π΄Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, ΠΊΠ°ΠΊ ΡˆΠΈΡ€ΠΈΠ½Π° столбцов (columnWidth) ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» (horizontalSpacing), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ изобраТСния. Π’Π°ΠΊΠΆΠ΅ установлСно, Ρ‡Ρ‚ΠΎ GridView сам опрСдСляСт число ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… столбцов (numColumns).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ„Π°ΠΉΠ» GridLayoutActivity. Π’Π°ΠΌ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ список рСсурсов изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° экран GridView.

НиТС Π² onCreate установлСн contentView ΠΈ Π·Π°Ρ‚Π΅ΠΌ установлСн Π°Π΄Π°ΠΏΡ‚Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся экзСмпляром класса Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° изобраТСния (ImageAdapter). Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим класс ImageAdapter. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ изобраТСния – это подкласс основного Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°. Π£ этого класса Π΅ΡΡ‚ΡŒ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° GridView Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΎΠΉΠ΄Π΅ΠΌΡΡ Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² этого класса. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ GetCount. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ число элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ управляСт Π°Π΄Π°ΠΏΡ‚Π΅Ρ€. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ – GetItemID, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ID для элСмСнта Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π² GridView, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²ΠΎ вСсь эран. ПослСдним ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ упомянСм, являСтся GetView. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° GridView Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° вью, которая Π²ΠΎΠΉΠ΄Π΅Ρ‚ Π² сСтку. Один ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° – ConvertView ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ Β«noΒ». Если Ρ‚Π°ΠΊ, Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ вью ΠΈ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Но ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ConvertView станСт нСизвСстСн, фактичСски ΠΎΠ½ ΡΠΎΡˆΠ»Π΅Ρ‚ΡΡ Π½Π° вью, которая Π±Ρ‹Π»Π° ΡƒΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ.

НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вьюшСк Π² сСткС, Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’ΠΎΠ³Π΄Π° GridView запросит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ вьюшки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ собираСтся вывСсти Π½Π° экран. Но, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ GridView, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вьюшки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²ΠΈΠ΄ΠΈΠΌΡ‹, ΡƒΠΉΠ΄ΡƒΡ‚ ΠΈΠ· видимости. Π’ΠΎΠ³Π΄Π° Android попытаСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ вьюшки ΠΈ выдаст ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρƒ, рСализуя ΠΌΠ΅Ρ‚ΠΎΠ΄ GetView.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту вью ΠΈ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π°ΠΌ поля для своСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π΄Π°Π½Π½Ρ‹Ρ…. И это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ экономит врСмя, выдСляСмоС Π½Π° Π½ΠΎΠ²Ρ‹Π΅ вью, ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»Π°Π²Π½ΠΎΠΉ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, ΠΎ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, β€“ мСню ΠΈ Action Bar (панСль Π²Ρ‹Π±ΠΎΡ€Π° дСйствий). Activity ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π½ΠΎ основная идСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ мСню Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ быстрый способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π²Π°ΠΆΠ½Ρ‹ΠΌ функциям. Π’Π°ΠΊ, Activity ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты ΠΊ мСню, ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ мСню, Π½Π°ΠΆΠ°Π² Π½Π° Π½Π΅Π³ΠΎ. Π’Ρ‹Π·ΠΎΠ² мСню измСнялся Π² Android Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘ΠΏΠ΅Ρ€Π²Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± основных Π²ΠΈΠ΄Π°Ρ… мСню, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΌ классС – Action Bar.

Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° мСню Android:

МСню ΠΎΠΏΡ†ΠΈΠΉ (options menu), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ мСню. Π£ Π±ΠΎΠ»Π΅Π΅ старых устройств Π½Π° Π±Π°Π·Π΅ Android ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±Ρ‹Π»Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ физичСская ΠΊΠ½ΠΎΠΏΠΊΠ° мСню, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΆΠ΅ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ….

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹Π΅ мСню (context menu). Π­Ρ‚ΠΈ мСню присоСдинСны ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ вью, ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ эту Π²ΡŒΡŽΡˆΠΊΡƒ. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹Π΅ мСню ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, связанными с вьюшками, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ мСню ΠΎΠΏΡ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ†Π΅Π»ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ПодмСню. Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ ΡƒΠΆΠ΅ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ мСню.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ мСню ΠΎΠΏΡ†ΠΈΠΉ. Π’ этом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ мСню (Ρ‚Ρ€ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ) Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части. Если ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, раскрываСтся мСню, позволяя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ: ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ вывСсти Π½Π° экран, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ произвСсти настройку прилоТСния.

Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ контСкстного мСню. ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Π”Π°Π»Π΅Π΅ Ρ‡Π΅Ρ€Π΅Π· мСню ΠΎΠΏΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π΄ΠΎ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ. И Π΄Π°Π»Π΅Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«HistoryΒ», которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ список Π½Π΅Π΄Π°Π²Π½ΠΎ посСщённых Π²Π΅Π±-страниц. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· этих записСй истории, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ мСню.

Π­Ρ‚ΠΎ контСкстноС мСню ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ссылкС Π²Π΅Π±-страницы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню, сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ содСрТаниС мСню Π² xml-Ρ„Π°ΠΉΠ»Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ res/menu. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню, Android Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ – onCreateOptionsMenu для мСню ΠΎΠΏΡ†ΠΈΠΉ ΠΈ ΠΈΡ… подмСню ΠΈΠ»ΠΈ onCreateContextMenu для контСкстных мСню. Π’ этих ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Menu Inflater, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»Π΅ΠΉΠ°ΡƒΡ‚ мСню.

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню, Android Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ onOptionsItemSelected для мСню ΠΎΠΏΡ†ΠΈΠΉ ΠΈ подмСню ΠΈΠ»ΠΈ onContextItemSelected для контСкстных мСню. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ со всСми этими Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ мСню.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«HelloAndroidWithMenusΒ». ΠŸΡ€ΠΈ Π΅Π³ΠΎ запускС Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ тСкстовоС вью со словами Β«Hello AndroidΒ». Если Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ это тСкстовоС ΠΏΠΎΠ»Π΅, Ρ‚ΠΎ раскроСтся контСкстноС мСню.

Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ (Ρ‚Ρ€ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт доступ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ мСню. НазовСм этот Π·Π½Π°Ρ‡ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«MenuΒ», Π° мСсто, Π³Π΄Π΅ ΠΎΠ½ находится – Π·ΠΎΠ½ΠΎΠΉ пСрСполнСния (overflow area).

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² исходном ΠΊΠΎΠ΄Π΅. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ посмотрим Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ onCreateOptionsMenu. Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Menu Inflater, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Inflate, пСрСдавая ссылку Π½Π° Π»Π΅ΠΉΠ°ΡƒΡ‚ мСню.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ„Π°ΠΉΠ» мСню Top_menu.xml. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» содСрТит Ρ‚Π΅Π³ мСню, ΠΈ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ нСсколько Ρ‚Π΅Π³ΠΎΠ² элСмСнтов. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π΅Π³Π΅ Π΅ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: ID, ΠΈΠΊΠΎΠ½ΠΊΠ°, которая выводится Π½Π° экран для этого элСмСнта ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ этого элСмСнта.

Π’ Activity Π² послСднСй строкС onCreateOptionsMenu Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, ΡƒΠΊΠ°Π·Π°Π², Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ вывСсти Π½Π° экран этот ΠΏΡƒΠ½ΠΊΡ‚ мСню. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню, Android Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ onOptionsItemSelected, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ провСряСм ID элСмСнтов, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия для этого элСмСнта.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ устанавливаСтся контСкстноС мСню. Π‘Π½Π°Ρ‡Π°Π»Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ контСкстноС мСню, Android Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ onCreateContextMenu.

Код ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² мСню ΠΎΠΏΡ†ΠΈΠΉ. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Menu Inflater ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΌΡƒ xml-Ρ„Π°ΠΉΠ» Π»Π΅ΠΉΠ°ΡƒΡ‚Π°. Π£ этого мСню Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½-СдинствСнный элСмСнт с ID help_guide.

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² контСкстного мСню, Android Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ onContextItemSelected, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ, мСню ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ связанныС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Π² Π³Ρ€ΡƒΠΏΠΏΡƒ – Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ смоТСтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ сочСтания клавиш с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню (shortcut) – Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ быстро. И Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Intent с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Activity, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ мСню.