Как сделать меню на телефоне
Android поддерживает несколько типов меню. Первый - на телефоне есть отдельная кнопка Menu (в старых телефонах), нажатие которой вызывает меню. В новых устройствах отдельную кнопку убрали, заменив на значок меню в виде трёх точек в вертикальной ориентации. Второй тип - контекстное меню, которое появляется при нажатии и удерживания пальца на экране в нужном месте (также можно нажать и удерживать центральную кнопку на телефоне). Контекстное меню в свою очередь может иметь подменю. Сегодня мы познакомимся с первым типом меню. В данной статье будет рассматриваться работа с меню на новых устройствах под управлением Android 4.0 и выше.
В шаблоне Empty Activity нет меню, поэтому мы создадим его сами. Это поможет вам понять принцип работы и получить общее представление о проекте. Запоминать названия классов, методов и код для обработки выбора пунктов меню необязательно. В других шаблонах меню будет встроено и вы можете сразу использовать его.
Создайте новый проект на основе Empty Activity и запустите его. Никакого меню пока нет.
Создадим несколько строковых ресурсов в файле res/values/strings.xml, которые будут отвечать за пункты меню:
Теперь создайте новую папку menu в папке res (правый щелчок мыши на папке res, | New | Directory). Далее создайте в созданной папке файл menu_main.xml - имя указывает, что меню относится к основной активности MainActivity (правый щелчок мыши на папке menu | New | Menu Resource File). Если вы будете создавать приложение с несколькими экранами, то у каждой активности будет отдельное меню со своими настройками. Пока откроем файл menu_main.xml и добавим в полученный шаблон свой код:
Откроем файл MainActivity. Сейчас в нём только один метод onCreate(). Добавим новый метод onCreateOptionsMenu(). Именно данный метод отвечает за появление меню у активности. Сразу после метода onCreate() начинайте вводить первые символы метода и дальше студия сама покажет список подходящих методов.
Найдите нужный метод и заготовка будет создана автоматически.
Добавляем в заготовку метод, который берёт данные из ресурсов меню и преобразует их в пункты меню на экране.
В методе inflate() вы указываете ресурс меню (R.menu.menu_main) и объект класса Menu.
По английски "inflate" переводится как надувать, т.е. по замыслу разработчиков Android, мы как бы надуваем данными объект, например, меню. Но на самом деле слово "inflate" происходит от словосочетания in flat - в квартиру. Существует старинная традиция запускать в квартиру первым кота, который исследует все закоулки дома и заявляет о своём согласии жить в нём. Так и мы запускаем данные из XML-файла в объект MenuInflater.Запустите проект. Теперь в правой части заголовка вы увидите значок из трёх точек, выстроенных в вертикальную линию. Нажмите на значок, чтобы увидеть пункт меню Settings.
Как не трудно догадаться, элемент item отвечает за отдельный пункт меню. Добавим ещё три пункта по такому же принципу, меняя только идентификатор и текст для меню:
Запустите проект и попробуйте снова вызвать меню. Вы увидите три новых пункта.
Параметры id и title не нуждаются в объяснениях. Параметр orderInCategory позволяет задать свой порядок вывода пунктов меню. Предположим вы создали пять пунктов меню, но пока не определились с порядком их вывода на экране. Чтобы не перемещать постоянно целые блоки кода для пунктов меню в нужном порядке, можно воспользоваться данным параметром.
И, наконец, важный атрибут app:showAsAction определяет поведение меню в ActionBar. Значение never означает, что элемент меню не должен выводиться в заголовке, а только в всплывающем меню, т.е. находиться за тремя точками. Если вы установите значение always, то пункт Settings сразу появится в заголовке вашего приложения. Также доступны значения ifRooms, withText и collapseActionView. Попробуйте самостоятельно. Например, ifRoom выводит пункт меню, если позволяет место. Если пунктов будет много, то они будут только мешаться. Как правило, в таком варианте выводят очень короткое слово или значок для частых операций, чтобы избежать лишнего щелчка на три точки.
Пока пункты меню не выполняют полезной работы. Любое нажатие на пункт просто закрывает меню без видимых последствий. Мы ещё не написали код для обработки нажатий.
Выбор пунктов меню
Мы научились создавать меню. Но пока оно бесполезно, так как пункты меню никак не реагируют на наши нажатия. Для обработки нажатий пунктов меню служит другой метод onOptionsItemSelected(). Добавим метод по такому же принципу, как для предыдущего примера. Получим заготовку.
Параметр item отвечает за пункт меню. Вам следует получить идентификатор меню через метод getItemId() и указать для него код (в Kotlin вместо метода используется свойство itemId). Так как обычно меню состоит из нескольких пунктов, то удобно использовать конструкцию when. Для вывода информации воспользуемся текстовой меткой. Добавьте на экран активности компонент TextView. Можете использовать имеющийся TextView с надписью "Hello World!", только присвойте ему идентификатор.
Добавим код в заготовку для выбранного пункта меню:
Переключатели
Внешний вид пунктов меню можно изменить на вид с переключателями. Для этого нужно добавить элемент group с атрибутом android:checkableBehavior="single":
Большого смысла в этом режиме я не вижу. И рассматривать его не будем.
Режим Design
В Android Studio 2.2 добавили графический режим построения меню, которых похож на панель инструментов для добавления новых компонентов на экран. У меню панель состоит из четырёх элементов: Menu Item, Search Item, Menu, Group.
Итак, вы получили базовые навыки работы с меню, достаточных для большинства случаев. Если хотите узнать больше, то почитайте дополнительную информацию о меню в разделе Теория.
Пример на Java
Код на Java не сильно отличается. Создание элементов меню на XML остаётся без изменений. Осталось только написать кода в классе активности.
Выберите в студии меню Code | Override Methods. и в следующим окне начинайте вводить название метода по первым буквам. Можно вводить по первым заглавным буквам, т.е. ocom (onCreateOptionsMenu), чтобы быстро найти нужную строку. Нажимаем кнопку OK и получаем заготовку.
Добавляем в заготовку метод, который берёт данные из ресурсов меню и преобразует их в пункты меню на экране.
Добавим код в заготовку для выбранного пункта меню:
Существует альтернативный способ через XML, похожий на обработку щелчков кнопки (начиная с Android 3.0). Вы можете добавить атрибут android:onClick в ресурсах меню, и вам не нужно использовать вызов метода onOptionsItemSelected(). При помощи android:onClick вы можете указать нужный метод при выборе пункта меню. Добавьте данный атрибут к пункту Settings
Новенький смартфон хорош со всех сторон. Но проходит время – и он уже не тот: звук в наушниках становится тише, микрофон – глуше, батареи хватает на полдня… Значит, пора старичку на свалку? Не торопитесь, он вам еще послужит: достаточно разбудить его скрытые резервы.
Аппаратная начинка большинства мобильных устройств используется лишь на 80-90% своего потенциала. А чтобы выжать из нее все 100, нужно попасть в одну секретную область – инженерное меню, которое… Поговорим, что представляет собой инженерное меню Android, как в него войти, какие в него заложены функции и как их использовать.
Они хотели скрыть это от нас
Инженерное меню – это сервисное приложение для тестирования, отладки и тонкой настройки аппаратных функций смартфона или планшета. Конечно, оно предназначено не для пользователей, а для разработчиков и сервисных специалистов, но пытливый юзерский ум не ведает покоя: как же не использовать этот кладезь в своих целях, если есть такая возможность?
А возможности инженерного меню действительно стоят внимания. Ведь в их числе:
- Получение самой достоверной информации о железе мобильного девайса.
- Управление функциями телефонии и беспроводной связи.
- Аппаратная настройка множества функций, в частности, регулировка громкости динамиков и чувствительности микрофона (пожалуй, самая востребованная опция у владельцев смартфонов).
Инженерное меню есть не на всех Android-телефонах и планшетах. На бюджетных девайсах сильно китайских брендов, а особенно «no name» зачастую его нет. Также его часто нет на устройствах с процессорами Qualcomm.
Набор доступных функций и сама организация инженерного меню зависят от марки процессора и оснащенности устройства тем или иным оборудованием. Основная масса смартфонов и планшетов базируется на процессорах MTK (MediaTek), поэтому знакомиться с ним будем на их примере.
Как попасть в «инженерку»
Войти в инженерное меню бывает не так-то просто. На одних гаджетах оно открывается только после получения прав суперпользователя (root), на других без root доступна часть функций, на третьих – все, достаточно включить режим разработчика (он активируется многократным касанием строки «Номер сборки» в разделе настроек «О телефоне»).
Для открытия меню используют специальные коды, которые набирают так же, как команды USSD – на телефонной клавиатуре, либо приложения из Google Play маркета.
В таблице ниже приведен список кодов для разных марок мобильных устройств:
А далее – приложения, которые создают ярлык на рабочем столе для быстрого доступа к «инженерке» смартфонов и планшетов на MTK:
- Инженерное Меню MTK
- MTK Engineering Mode
- Запуск инженерного меню
- Запуск инженерного меню мтк
- MTK Engineer Mode
- Super MTK Engineering
- MTKAPP : MTK Engineer Mode
- MTK Engineering Mode – Advanced Settings & Tooling
К сожалению, универсально-совместимых приложений здесь нет, поскольку их не существует. Многие платформы, даже оснащенные процессорами MediaTek, не поддерживают часть программ из этого списка, а некоторые и вовсе ни одну.
Знакомство с инженерным меню смартфона MTK
Для входа в «инженерку» использовалось приложение MTK Engineer Mode, ссылка на которое приведена ваше.
Как видно на скриншоте, стартовая страница утилиты содержит кнопки перехода к трем основным разделам:
- Android Settings (настройки ОС Android).
- MTK Settings (собственно инженерное меню устройства).
- Samsung Settings (настройки устройства Самсунг). Доступно только на аппаратах этой марки.
В Android Settings находятся разделы информации о телефоне, куда дополнительно входят средства проверки, включения и выключения некоторых функций, а также информация о батарее, WLAN (беспроводных соединениях) и статистика использования аппарата.
На тестовом смартфоне этот раздел выглядит так:
Но нас интересует не он, а то, что дальше – MTK Settings. Рассмотрим его разделы подробнее.
Telepfony
- Auto Answer – автоответчик на входящий звонок. Можно включить или выключить.
- AntennaTest – параметры антенн мобильной связи для работы в сетях 3G и 4G.
Установка в настройках Antenna Test (3G Fdd) опции Resume default setting – один из эффективных способов устранения провалов связи в сетях 3G.
- Band Mode – поддержка частотных диапазонов модуля GSM.
Отключение полос частот, которые не использует ваш мобильный оператор, снижает расход заряда аккумулятора. Иногда весьма значительно.
- BSPTelephonyDevTool – средство мониторинга и управления работой SIM-карт.
- CFU – раздел настройки переадресации входящих вызовов. Может использоваться, если услугу поддерживает сотовый оператор.
- LTEinformation – настройка вывода информации о параметрах 4G (на аппаратах без поддержки этого стандарта раздел отсутствует).
- AT Command Tool – консоль разработчика, предназначенная для выполнения некоторых операций (набора номера, изменения свойств интернет-подключения и т. д.) посредством AT-команд.
- Misc Feature Config – в этом разделе можно активировать опции «Использовать только 2G» и «Включить вибрацию при ответе абонента».
- Modem Test – набор средств тестирования и настройки работы модема с устройствами разных типов.
- Network Selecting – раздел выбора стандарта мобильной связи, которая будет использоваться на телефоне. Отключение неиспользуемых стандартов уменьшает расход заряда аккумулятора.
- NetworkInfo – содержит настройки вывода информации о различных параметрах сотовой связи.
- GPRS – параметры GPRS-подключения для каждой SIM-карты.
- HSPA Info – данные о стандарте 3G.
- Mobiledataservicepreferred – настройка приоритетности передачи мобильных данных перед телефонной связью.
- Fast Dormancy – настройки энергосберегающего режима (доступны при условии поддержки сотовым оператором).
- RFDe-senseTest – средства тестирования и тонкой настройки передачи голосового трафика в разных частотных диапазонах.
- Simme Lock – ручные настройки GSM (доступно при поддержке сотовым оператором).
- World Phone – настройки модема.
Основная масса параметров этого раздела оптимально настроена по умолчанию, поэтому без уверенности в понимании своих действий лучше ничего здесь не менять.
Connectivity
Вкладка инженерного меню Connectivity содержит инструменты тестирования и управления работой беспроводной связи.
- Bluetooth – в этом разделе собрано все, что имеет отношение к настройкам одноименного интерфейса.
- CDS Information – содержит параметры всех интерфейсов WLAN, доступных на устройстве.
- FM Receiver – набор средств проверки и настройки FM-радиоприемника.
- Wi-Fi – средства тестирования и тонкой настройки Wi-Fi.
- Wi-FiCTIA – содержит тест различных режимов работы Вайфая. Здесь же хранятся журналы проверок.
- Wi-FiDisplay – отображает параметры воспроизведения видео при подключении к Wi-Fi.
Hardware Testing
В Hardware Testing собраны инструменты проверки аппаратных устройств и интерфейсов Андроид-смартфона: звука, камер, дисплея, тачскрина, памяти, гнезда USB и т. д.
- Раздел Audio предназначен для настройки и тестирования всех звуковых устройств. Здесь находятся инструменты управления громкостью динамиков и чувствительностью микрофона, которыми довольно часто пользуются владельцы гаджетов.
Чтобы увеличить громкость телефонного динамика, войдите в подраздел Audio Normal Mode . Откройте список Type и выберите Sph. Из списка Level выберите начальный уровень громкости Level 0 и измените значение в поле Value is: чем оно больше, тем сильнее сигнал. Однако увеличивать его сверх 5-15% крайне нежелательно, так как это может вывести оборудование из строя. Для сохранения настройки нажмите кнопку Set. Повторите действия со следующими уровнями, пока результат вас не устроит.
Для усиления звука из динамика громкой связи выберите в списке Type параметр Ring.
Для повышения чувствительности микрофона – mic.
Чтобы увеличить громкость в играх, при прослушивании музыки и просмотре видео, выберите Media. Остальное проделайте так же, как написано выше.
Уровни звучания на разных аппаратах заданы по-разному, единого стандарта нет. Поэтому искать оптимальные значения приходится экспериментальным путем.
- Раздел Camera также содержит массу настроек. Чаще всего они оптимальны, и их изменения приводят лишь к ухудшению качества фото.
Но если ваш аппарат сохраняет снимки только в формате JPG, что ограничивает возможности при обработке их в графических редакторах, откройте в разделе Camera список Capture Type и выберите формат RAW.
- В разделе DrivingCurrentCamera отображается величина силы тока модуля камеры.
- De-Sense представляет собой диспетчер оборудования, через который настраивают его конфигурации.
- Через Display управляют частотой мерцания и другими свойствами подсветки экрана.
- В Sleep Mode содержатся параметры спящего режима.
- IO – подраздел управления устройствами ввода-вывода.
- Memory содержит сведения о модуле памяти.
- Через Power просматривают и настраивают параметры управления питанием и зарядкой АКБ.
- SDCardTest тестирует установленную в телефон SD-карту.
- Раздел TouchScreen помогает выявлять дефекты сенсорного экрана и настраивать его чувствительность.
- USB отображает информацию об этом интерфейсе и тестирует его функционал.
- Раздел Sensor предназначен для калибровки сенсора.
- Через Video управляют отдельными параметрами воспроизведения видеоматериалов.
Остальное
Вкладка Location содержит средства управления системой геолокации смартфона. Работу некоторых опций этого меню мы рассматривали в статье о проблемах с GPS-навигацией.
В Log and Debudding собраны утилиты отладки и тестирования железа, а также их логи.
Others вмещает в себя всё, что не вошло в другие разделы инженерного меню. В частности, подраздел Setting Font, через который можно менять свойства системного шрифта; Thermal, где отображаются показания термодатчиков (функция мониторинга температур есть не на всех аппаратах); USB ACM, где собраны настройки подключения USB-модемов и многое другое. Функциональный набор этой вкладки на разных девайсах сильно различается.
К великому сожалению, официальной документации по работе с «инженеркой» Андроид-гаджетов в свободном доступе нет. И если вы всерьез настроились ее изучить, то действовать придется методом тыка на свой страх и риск. Да, основной функционал этого меню уже изучен и описан, и риск превратить телефон в кирпич относительно небольшой. Но все же проявляете осторожность и тщательно запоминайте, что делаете, ведь кнопки «Вернуть все обратно», если что-то пойдет не так, здесь не предусмотрено.
Мы попросили читателей поделиться скриншотами экранов телефонов и рассказать, как они организуют и выбирают приложения.
Собрали снимки самых структурированных и необычных экранов, которые помогают не теряться среди десятков и сотен программ.
Это комментарии читателей из Сообщества Т—Ж. Собраны в один материал, бережно отредактированы и оформлены по стандартам редакции.
На главном экране только то, чем пользуюсь ежедневно. Это лаунчер для Андроида в стиле «Виндоус 10». Он классный.
У меня шесть экранов. Каждый условно разделен по темам: мусор, мессенджеры, магазины, банки, «Яндекс», игры.
В какой-то момент надоело искать среди кучи одинаковых иконок нужную, написал свой лаунчер. Все приложения отображаются одним списком, неиспользуемые скрываю либо удаляю, поэтому вижу только то, чем пользуюсь регулярно. Ориентируюсь в основном по положению на экране, а текст и цвет помогают не теряться. На соседней странице пара виджетов: погода и календарь — без календаря жить не могу.
Как-то так. Удалось себя приучить сортировать приложения по папкам, чтобы не создавать 15 разных экранов. Но пока не могу привыкнуть к библиотеке приложений на Ай-ос 14.
У меня всего два экрана с приложениями, остальное — через поиск. На главном экране стопка виджетов: календарь, погода и Streaks, который помогает мне отслеживать цели по активности на день и более глобально — привычки. Недавно убрал из закрепа внизу стандартную камеру Айфона и поставил Halide, но пока непривычно.
Одного экрана достаточно, остальное в библиотеке.
На экране пусто, все приложения в меню.
подключается к пылесосу с телефона
Чаще пользуюсь ноутбуком, нежели телефоном. Из часто используемых — читалка, виджет «Вкусвилла» да быстрый доступ к роботу-пылесосу . А еще Notion — недавнее открытие, которое изменило мою жизнь. Очень удобное приложение-органайзер .
За минимализм. Очень понравился Niagara Launcher.
Все остальные — через меню приложений. Люблю минимализм.
Остальные приложения через поиск, как и контакты.
держит приложения для потребления отдельно
Вот основной. Второй — экран потребления: «Твич», «Тикток», заказ еды. Третий — экран сервисов: госуслуги, VPN, налоги.
Самый часто используемый экран.
Один экран — много эмодзи.
Я тут доверился Сири. Чаще всего она подставляет нужные приложения. Если вдруг его нет, а такое бывает редко, свайп вниз — и через поиск достаю нужное. Начинал с одного виджета, сейчас их три.
Всю личную инфу свернул в одну строку на виджет, обычно развернуто на длинную ленту.
Какие у всех скучные экраны. Это второй из двух моих: тут каршеринги, карты и банки.
Технологии. Что происходит в мире технологий, какие устройства стоит купить и как выжать максимум из вашего телефона и компьютера
>виджеты, лаунчеры
>на обложке айфон
Не спрашивайте зачем
Эдуард, супер! Один из немногих, на какие приятно смотреть
Эдуард, что зачем? глупый вопрос, чтобы использывать
Каждая иконка имеет два или три действия. Одним движением пальца могу получить доступ к 27 приложениям с главного экрана. Например по тапу на камеру открывается обычная камера, по свайпу по камере - Microsoft Lense для сканирования документов. В два еще к 29 (например по свайпу вверх по книге открывается папка с "книжными" приложениями, при этом простой тап открывает Moon+ reader, а свайп вниз - Litres). Второй экран - календарь.
Андрей, как называется сей чудо лаунчер?
Сильный,
Nova launcher prime
Виджеты KWGT
Иконки Aline Yellow icon pack
Fluid NG для тонкой настройки жестов (вместо нижней панели и вместо стандартных в телефоне)
Сильный, нова лаунчер
Оч люблю разглядывать чужие рабочие столы, всегда было интересно, как люди их организовывают
У меня вот этот экран основной (аполло = реддит, только гораздо удобнее и быстрее оригинального приложения + большое количество виджетов на любой вкус)
А у меня котик. Просто котик.
Самые нужные приложения в баре снизу, а все остальные: провожу по экрану, что открылся поисковик, ввожу первые три буквы названия приложения, запускаю из поисковой выдачи
Ответ на вопрос: приложение с ДМС, вообще не пользуюсь, но спокойнее когда оно под рукой.
Боже, храни Samsung за edge panel — ТОП-10 приложений на каждый день тут. На главном экране только лаконичный виджет погоды + внизу 5 стандартных иконок (звонки, смс, камера, галерея, Chrome). Всё остальное разбито по тематическим папкам в меню приложений.
я использую все приложения, удаляю все, какие не использовала хотя бы полгода. на главном экране только часто используемые, а внутри уже все прочие по папкам типа "магазины", "финансы", "читалки" и т.д. При этом с главного экрана удалила приложения по учету финансов и магазинов, которые нужны каждый день, но я заметила, что тупо залипаю в бюджетирование, готова сидеть там часами, думая над расходами и оптимизацией, так что решила - с глаз долой, чтобы не терять время впустую. Все равно в моем случае это залипание чаще медитация, чем эффективный менеджмент. Из предложенных вариантов мой - экран Алены Чумак. Я даже узнала свои приложухи. Жесть. Но я - это не она )))) Прикольно, что есть сходство с кем-то - значит, у меня норм вариант.
мой билайн. заглядываю туда раз в месяц, когда надо оплачивать сотовую связь или отследить куда у меня ушло 40 смс после бурной ночи и попытки позвонить бывшему
Интересно узнать что за лаунчер/виджет на телефоне
Денис Лифанов
Тиндер)) но это шутка
Самые важные приложения, плюс два дополнительных часовых пояса для мамы и папы
Вот как организовано у меня. На первом экране чаще всего используемые приложения, на втором реже используемые. В папке «Контент» фитнес-приложения, онлайн-кинотеатры, приложения для обработки фото и видео, игры и реже используемые социальные сети. В папке «Разное» системные приложения типа почты, которые не добавлены в стандартный почтовик, приложения для получения кодов доступа, приложение для Apple Watch, приложения умного дома и т.п. В папке «Сервисы» приложения онлайн-магазинов, бонусных программ и госуслуг. На третьем экране один виджет, этот экран нужен для того, чтобы если я случайно на него попаду, то не увижу экран с библиотекой приложений, которая меня очень раздражает. Расстраивает, что её нельзя скрыть через настройки.
Не крепится скрин. Говорит что фото должно быть до 5 мб
А вообще, у меня сортируются по степени срочности: чем ближе к левому большому пальцу, тем чаще я его запускаю где то в неудобных для долгого поиска условиях. Так в углу у меня сканер перекрестка, раньше был каршеринг, набор скидочных карт, vk.
Так же как и многие приучил себя сортировать по папкам основное. А верхняя часть экрана занята большим виждетов-стопкой с погодой, расписанием и… все.
Второй экран занимает второстепенный хлам, чем иногда пользуюсь. Остальное скрыто в библиотеку. И тоже пользуюсь поиском по свайпу вниз, если нужно найти приложение, посчитать или валюту конвертнуть. К библиотеке не приучусь наверное никогда.
В данном уроке я продемонстрирую возможность добавление меню в виде 3 точек в правом верхнем углу, и научу добавлять туда новые пункты.
Шаг 0: Android Studio в действии
Шаг 1: Создаем проект
Запускаем студию и нажимаем Create New Project:
Шаг 2: Разбор стандартного проекта
Теперь пора перейти к решению поставленой задачи, а именно создать свое меню для приложения.
Если запустить только что созданный проект, то вы увидите, что он имеет такое меню:
Именно вместо Settings мы научимся добавлять свои элементы.
Давате разберемся как же это меню там появилось.
Вот структура проекта:
Шаг 3: Создаем меню
Теперь давайте создадим свое меню.
Для начало создайте папку menu в папке res если её у вас нет.
А теперь создадим в этой папке файл main.xml со следующим содержимым:
Как можно увидеть в примере высше, то там есть элемент item идавай разберем его атрибуты:
В нашем примере используется never поэтому мы видим Settings, когда раскрываем меню.
Шаг 4: Добавляем меню в приложение
Для этого в главной активности, в моем случае это MainActivity.java нужно унаследоваться от ActionBarActivity и переопределить метод onCreateOptionsMenu(Menu menu):
После этого мы увидим наше меню.
Шаг 5: Добавляем новый элемент и действие на него
Я добавил новый элемен в main.xml меню:
Теперь меню выглядит так:
Теперь давайте добавим обработчик на эти пункты меню, для это зайходим в наше MainActivity и переопределяем метод onOptionsItemSelected(MenuItem item):
Читайте также: