- Полный список
- Разделяй и развлекайся: как и зачем использовать разделение экрана
- С помощью костяшек пальцев
- С помощью свайпов
- С помощью кнопки «Обзор»
- В режиме просмотра списка последних приложений
- Плавающее окно видеопроигрывателя
- Зачем нужна многооконность
- Материалы по теме:
- В Honor поделились планами по обновлению смартфонов до Android Pie
- История бренда Honor: пять лет доступных технологий
- Какой Honor выбрать? Обзор линейки 2018 года
- Человек против ИИ: кто лучше знает, как сэкономить заряд смартфона?
Полный список
— учитываем ориентацию и размер экрана в работе приложения
На странице фрагмента на официальном сайте приводятся куски кода приложения. Это приложение отображает список заголовков статей и содержимое выбранной статьи, а его вид зависит от ориентации экрана. В горизонтальной ориентации, оно отображает и заголовки и содержимое(два фрагмента в одном Activity). В вертикальной ориентации заголовки и содержимое отображаются на разных экранах (два фрагмента разделены по двум Activity).
Пример достаточно полезен, и я решил, что имеет смысл разобрать его детально. Я немного поменяю и сокращу код, но общий смысл конструкции останется неизменным. Также, думаю, будет полезным, если мы создадим приложение так, что оно будет запускаться на версиях более ранних, чем третья. Ну и в довесок сделаем так, чтобы оно работало адекватно на экранах разных размеров.
Соответственно урок состоит из трех частей.
1. Приложение, отображающее слева заголовки, а справа – содержимое
2. Добавляем учет ориентации. При вертикальной будем отображать заголовки на первом экране, а содержимое на втором.
3. Добавляем учет размера экрана. Для небольших экранов в любой ориентации будем отображать заголовки на первом экране, а содержимое на втором.
Долго думал, как назвать проект. Решил – MultipleScreen.
Project name: P1151_MultipleScreen
Build Target: Android 2.2
Application name: MultipleScreen
Package name: ru.startandroid.develop.p1151multiplescreen
Create Activity: MainActivity
Добавим строки в strings.xml:
Два массива – заголовки и содержимое.
Не забывайте, что мы используем библиотеку v4, чтобы наше приложение с фрагментами работало на старых версиях.
Создаем фрагмент, который будет отображать список заголовков
Класс наследует ListFragment для удобства работы со списком.
onItemClickListener – интерфейс, который будет наследовать Activity. Подробно эту схему мы разбирали в Уроке 106. Интерфейс имеет метод itemClick, который фрагмент будет вызывать при выборе элемента списка.
В onCreate создаем адаптер с заголовками и передаем его списку.
В onAttach записываем Activity (к которому присоединен фрагмент) в listener. Разумеется, это Activity должно реализовывать интерфейс onItemClickListener.
В onListItemClick, мы через listener посылаем в Activity данные о выбранном элементе.
Т.е. этот фрагмент покажет нам заголовки и уведомит Activity о том, какой из них был выбран.
Создаем второй фрагмент, для отображения содержимого.
TextView, который будет отображать содержимое.
Метод newInstance создает экземпляр фрагмента и записывает в его атрибуты число, которое пришло на вход методу. Это число будет содержать позицию выбранного элемента из списка заголовков.
Метод getPosition достает из аргументов позицию.
onCreateView создает View, находим в нем TextView, и помещает в этот TextView содержимое, соответствующее позиции.
Для нас тут новыми являются аргументы фрагмента. Они могут быть заданы строго до того, как фрагмент будет присоединен к какому либо Activity, т.е., обычно, сразу после создания фрагмента. Они хранятся в фрагменте даже после того, как он был пересоздан в результате, например, смены ориентации экрана. Метод setArguments позволяет записать аргументы, а getArguments – считать.
Этот фрагмент при создании читает содержимое по переданной ему позиции и выводит в TextView.
Настраиваем Activity. layout-файл main.xml:
Слева будет TitlesFragment с заголовками, а в правой части будем помещать DetailsFragment в контейнер FrameLayout.
Activity наследует интерфейс onItemClickListener, чтобы получать оповещения о выбранных элементах от фрагмента со списком заголовков. Поле position будет хранить последний выбранный элемент. Это поле сохраняем (onSaveInstanceState) и читаем (savedInstanceState в onCreate) при пересоздании Activity.
В onCreate вызываем метод, который покажет последнюю выбранную запись.
Метод showDetails получает на вход позицию, ищет DetailsFragment. Если не находит или находит но, отображающий данные по другой позиции, то создает фрагмент заново, передает ему нужную позицию и размещает в контейнер.
itemClick – метод, вызываемый из фрагмента со списком заголовков. В нем мы получаем позицию выбранного элемента в списке. Пишем ее в поле position и вызываем showDetails, который отобразит нужные данные на экране.
Все сохраняем, запускаем приложение.
Выберем какой-либо пункт
все работает, как и должно.
Теперь добавим учет ориентации экрана. В вертикальной ориентации MainActivity будет отображать только заголовки. Фрагмент с содержимым вынесем в отдельное DetailsActivity
Код из рубрики: «все слова вроде знакомые, а че сказать хотел — непонятно». Давайте разбираться.
Представим ситуацию. Мы поворачиваем планшет вертикально, у нас отобразятся только заголовки. Мы нажимаем на какой-либо заголовок и переходим на DetailsActivity, которое покажет нам содержимое (средствами DetailsFragment, разумеется). Т.е. мы имеем вертикальную ориентацию и видим содержимое. Теперь поворачиваем планшет горизонтально. Что будет? DetailsActivity отобразится во весь горизонтальный экран и покажет содержимое. Но наша концепция гласит, что в горизонтальной ориентации приложение должно показывать и содержимое и заголовки, ширина экрана ведь позволяет это сделать. А, значит, нам надо вернуться в MainActivity.
Смотрим первый фрагмент кода. Приложение определяет, что ориентация горизонтальная и в этом случае просто закрывает Activity. И т.к. это DetailsActivity у нас будет вызвано из MainActivity, то после finish мы попадаем в MainActivity и видим то, что нужно – и заголовки, и содержимое. Причем MainActivity хранит номер выбранного заголовка (независимо от ориентации) и содержимое отобразится то же самое, что было в DetailsActivity.
Смотрим второй фрагмент. Мы проверяем, что savedInstanceState == null – это означает, что Activity создается первый раз, а не пересоздается после смены ориентации экрана. Далее мы создаем фрагмент DetailsFragment, используя позицию из интента, и помещаем его в Activity.
Почему создаем фрагмент только при создании Activity и при пересоздании — нет? Потому что система сама умеет пересоздавать существующие фрагменты при поворотах экрана, сохраняя при этом аргументы фрагмента. И нам совершенно незачем в данном случае пересоздавать фрагмент самим.
Причем тут надо понимать, что система будет создавать фрагмент вовсе не через метод newInstance. Она просто не знает такой метод. Система использует конструктор. И мы ничего не можем передать в этот конструктор, чтобы повлиять на поведение или содержимое фрагмента. Именно в таких случаях выручают аргументы. Система сохраняет аргументы фрагмента при его пересоздании. И при каждом пересоздании наш фрагмент будет знать, какое содержимое он должен отобразить, т.к. использует аргументы при создании экрана в методе onCreateView.
Не забудьте прописать Activity в манифесте.
Создадим папку res/layout-land и скопируем туда основной layout — res/layout/main.xml. Т.е. при горизонтальной ориентации у нас все останется, как есть.
А res/layout/main.xml поменяем следующим образом:
Мы удалили контейнер для содержимого, оставили только заголовки. Такой экран мы получим в вертикальной ориентации.
Изменений немного. Добавляется поле withDetails, которое будет сообщать нам: показывает Activity заголовки с содержимым или без. В нашем случае это будет совпадать соответственно с горизонтальной и вертикальной ориентацией.
В onCreate мы задаем значение withDetails с помощью проверки наличия контейнера для фрагмента с содержимым. Если у нас должно отображаться содержимое, то вызываем метод showDetails и передаем ему позицию. Если содержимое не должно отображаться, то ничего не делаем, показываем только заголовки.
В методе showDetails мы смотрим withDetails. Если содержимое должно быть показано здесь же, то работает старый алгоритм, мы создаем фрагмент. Если же содержимое должно быть показано в отдельном Activity, то вызываем DetailsActivity и передаем ему позицию.
Все сохраняем, запускаем приложение.
видим только заголовки
видим содержимое в новом Activity
видим содержимое и заголовки
Осталось подстроить работу приложения под маленькие экраны. Напомню, что на мелких экранах мы при любой ориентации будем разделять заголовки и содержимое по разным Activity. Размер экрана можно определять по-разному. Я буду считать большими экраны large и xlarge. Для этих экранов логика остается текущая, для остальных немного изменим.
Ориентация экрана бывает горизонтальная (land) и вертикальная (port). Экраны мы будем различать: мелкие, large и xlarge. Итого у нас получается 6 комбинаций экранов.
И у нас уже есть два варианта файла main.xml – «заголовки с содержимым» и «только заголовки«.
Надо сопоставить комбинации и варианты.
Вариант «заголовки с содержимым» будем использовать в комбинациях 5,6 (большие экраны в горизонтальной ориентации)
Вариант «только заголовки» подходит к комбинациям 1,2,3,4 (мелкие экраны в любой ориентации и большие экраны в вертикальной ориентации).
Создаем layout-папки под эти комбинации, и помещаем в них варианты экранов.
Папка res/layout-large-land. Это комбинация 5. Сюда помещаем вариант main.xml, который «заголовки с содержимым».
Папка res/layout-xlarge-land. Это комбинация 6. Сюда помещаем вариант main.xml, который «заголовки с содержимым».
Папка res/layout. Это все остальные комбинации (1,2,3,4). Сюда помещаем вариант main.xml, который «только заголовки».
Т.е. в итоге получается, что мы в папки layout-large-land и layout-xlarge-land копируем файл из layout-land, и удаляем папку layout-land. Папку layout не трогаем, там все ок.
Осталось немного изменить DetailsActivity.java:
Метод isLarge определяет, большой экран или нет. Если раньше мы в горизонтальной ориентации сразу закрывали это Activity, то теперь будем делать это только для больших экранов. А на остальных содержимое будет отображаться в горизонтальной ориентации.
Все сохраняем и запускаем приложение.
Скрины с планшета приводить не буду. Они полностью повторят предыдущие.
А на смартфоне с маленьким экраном будет так:
Жмем назад и попадаем к заголовкам
Немаленький такой материал получился. Но, вроде, все рассказал, чего хотел.
На всякий случай напоминаю, что архитектура решения не моя. Я разбирал пример, который немного поменял. Я перенес логику из фрагмента заголовков в главное Activity и убрал использование режима выбора и выделение элементов списка. Зато добавил работу с квалификаторами, которые позволили нам менять поведение приложения в зависимости от размера и ориентации экрана.
Если остались непонятные моменты – велкам на форум, будем решать.
На следующем уроке:
— меняем поведение Activity в Task
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Разделяй и развлекайся: как и зачем использовать разделение экрана
Функция разделения дисплея для одновременного запуска двух приложений официально появилась в седьмой версии Android, но не все смартфоны поддерживают её из «коробки». В гаджетах Honor эта функция доступна без дополнительных «танцев с бубном» и получила небольшое развитие. Рассказываем, как использовать разделение экрана и для чего.
Для корректной работы в двухоконном режиме разработчики приложения должны адаптировать его под эту задачу. Не все это делают, поэтому некоторые программы могут запускаться в режиме разделения экрана с ошибкой.
Разбираться с функцией разделения экрана мы будем с помощью Honor View 10. Этот смартфон работает под управлением последней версии Android 8.0 Oreo с оболочкой EMUI 8. Подробно о всех возможностях фирменного интерфейса мы расскажем в отдельном материале. Сегодня поговорим об опции разделения дисплея в устройствах Honor.
Разделение экрана на Honor View 10 запускается несколькими способами.
С помощью костяшек пальцев
Можно разделить экран Honor View 10 на две части, всего лишь проведя костяшками пальцев по середине дисплея. К слову, это фирменная возможность оболочки EMUI.
Для активации данной функции необходимо перейти в настройки, выбрать пункт «Управление» — «Включение нескольких окон» и передвинуть ползунок переключателя.
С помощью свайпов
Ещё один хитрый способ запуска многооконности — провести двумя пальцами снизу вверх.
Если программа не поддерживает данный режим, на экране появится соответствующее предупреждение.
С помощью кнопки «Обзор»
Кнопка «Обзор», она же клавиша запуска многозадачности, при длительном нажатии запускает мультиоконный режим.
Запускаем программу, удерживаем клавишу «Обзор» (кнопка просмотра списка недавно запущенного софта), и наша программа переключается в режим нескольких окон.
В режиме просмотра списка последних приложений
Самый распространённый и простой способ. Открываем последние запущенные приложения соответствующей кнопкой, удерживаем карточку приложения, которое хотим запустить в режиме нескольких окон, и тащим в верхнюю область экрана. После этого сразу запустится многооконность, останется лишь выбрать вторую программу для одновременной работы.
Плавающее окно видеопроигрывателя
В фирменном видеопроигрывателе Honor View 10 есть функция сворачивания. При её активации ролик уменьшается до размеров небольшого плавающего окошка. При этом можно использовать любые другие приложения — видео будет крутиться над ними и не станет мешать их работе.
Нужно ответить в мессенджере во время просмотра свежей серии любимого сериала? Не обязательно отрываться от него: просто нажимаем на кнопку в видеоплеере, перетаскиваем окошко с видео в верхний угол и пишем сообщение. Причём получится использовать любые приложения, даже те, которые не поддерживают режим многозадачности — например, тот же Instagram.
Зачем нужна многооконность
Как и для чего использовать режим нескольких окон? Вот несколько кейсов.
Открываем YouTube и любимый 4PDA. Можем слушать лекции, видеоклипы, интервью с рэперами и другой контент, одновременно читая ветки с прошивкой на форуме и жаркие споры под новостями между фанатами разных брендов.
Книга и мессенджеры. Читаем и чатимся с друзьями, не тратя время на переключение между окнами.
YouTube и почта. Убиваем время, развлекаемся и параллельно отправляем важные письма по работе или учёбе.
Даже в простые игрушки, такие как 2048, можно поиграть в режиме нескольких окон. Главное, чтобы нужные приложения поддерживали эту функцию.
Вариаций применения режима разделения экрана множество, всё зависит от того, для чего вы в основном используете смартфон.
Материалы по теме:
В Honor поделились планами по обновлению смартфонов до Android Pie
История бренда Honor: пять лет доступных технологий
Какой Honor выбрать? Обзор линейки 2018 года
Человек против ИИ: кто лучше знает, как сэкономить заряд смартфона?
Из всех оболочек которые юзал у хуавея самая удобная и функциональная.
Nail_I,
А я юзаю на s7. Полезная фича
Одновременно слушать «интервью с рэперами». Серьёзно?
У смартфонов линейки Galaxy Note эта фича существует более 5 лет 😉👍
А Honor только сейчас удалось реализовать эту ворованную идею? 😁
ecology,
Всё точно, в данный момент пользуюсь Samsung S3 2012 года, данная функция есть.
Хардман,
На кастоме ? В Андроиде 4 не предусмотрена такая функция, не несите чушь.
zver058,
Не говорите глупости. Это было и есть на стоке.
stebnik,
По вашему у меня небыло S3 ? Небыло там разделения экрана, и в S4 небыло и в S5 небыло, только в S6 и S7 видел
zver058,
Уверен, что не было. Или, возможно, китайский клон.
У меня был и было разделение на стоке.
zver058,
)))) Андроид 4.4.4 в настройках, устройство, несколько окон
Так что есть Сам был в шоке))) Самсунг Красавчики
ecology,
По моему ещё в первом Ноте была. Открываеш в одном окошке файловый менеджер, открываеш в другом и перетаскиваеш файлы как в винде (на Samsung S8+).
Jedi-sv,
Ну да, что такого?
На ЛЖ уже 4 года это в офф прошивке. Работает без бубна, поддержка приложениями не нужна — работают в разделении вообще любые приложения.
dexmorf,
Может это опятьненавязчиваяреклама гонора-хорора, не?
eco_buble,
По-настоящему это может помочь только для введения текста с картинки, и то это если картинка не берётся оцр.
И кстати почему «последние приложения» вкладки все одинаковой ширины, на 5.1, которые старше уже?
Экран в экране у меня и на 5.1 есть
Я использую когда надо на калькуляторе сложить цифры из сметы. Очень удобно. Но ну меня слава богу чистый Андройд и мне не надо делать подпрыгиваний и приседаний с костяшками как на хоноре. У меня все это делается мгновенно удобно и одним нажатием. Впрочем как и переключение между окнами
Постыдились бы показывать многооконность на примере форума, у которого неадаптивный дизайн и он выглядит как на десктопе. И это форум, посвященный смартфонам. Потратьте уж деньги с рекламы хонора на верстальщика
pro100_LEXA,
Человек дело говорит. Да и если уж об этом речь зашла, то я могу помочь, ну это так, между прочим
pro100_LEXA, есть мобильная версия форума же. На смарте её и использую. Вполне удобно.
pro100_LEXA,
Наверно у вас включено показывать как десктоп, у меня все адаптивное, хотя некоторых фич в мобильной версии нет.
pro100_LEXA,
Нет, нужно вообще целиком форум перелопатить. И вообще, форум выглядит так, что это какой-то готовый пресет, который достаточно просто интегрировать на сайт
На смартфоне не пользуюсь. А на 10-ти дюймовом планшете весьма удобно. Причем в отличии от смартфона, на планшете не обязательно делить пополам. Можно разбить 3:1.
Ещё бы драг ин дроп как на Айпаде, была бы вообще красота.
Alex93,
На смарте тоже можно варьировать, по крайней мере на S7.
russian world, действительно, сейчас попробовал, можно делить. Правда остающаяся подложка выглядит совсем уныло, но возможность есть.
russian world,
Да Самсунг это и придумал, ещё когда седьмого ведра не было. И размер менялся ещё пару лет назад.
ДолбоЙоЖ, только толку не было. За пределами родной оболочки работало криво. Сторонние приложения адекватно поддерживать функцию начали только после появления поддержки в 7-ом андроиде, да и то поддержка появлялась очень медленно и постепенно.
Alex93,
Что вы вообще говорите?
Может на S4 это и было ужасно на 4.2.2, но даже на еноте с 5.1.1 очень многие сторонние приложения работают очень даже неплохо.
Alex93,
Использую Galaxy Note 10.1 (аж 2012 год) с 4.4.2 и твиком, чтобы мультиконность работала во всех приложениях. Работает более чем адекватно, даже с простенькими играми
valeron2000,
Та это ещё на n7000 работало .
Pr.master,
И без твиков.
russian world,
и на Honor 8 Pro тоже можно
Alex93,
На MIUI тоже можно 1:3
Alex93,
Удобная функция — 1/3 экрана — видеоплеер/ютуб, 2/3 — «серфинг».
Сначала создали, потом думаем зачем.
@[email protected],
Притом нельзя те же онлайн игры разделить. Приложение сразу не активное становится. Короче, хз кто ей пользуется на постоянке.
Да ну штука однозначно классная и удобная.
Постоянно использую на LG G5 , смотрю Ютуб или твитч , параллельно в хроме сижу или в ВК.
Не только в хоноре, не льстите себе)
На MIUI9 на моем Xiaomi все проще — открываем меню с запущенными программами, жмем кнопку «разделенный экран», переносим окно на это меню, а затем выбираем второе окно. 3 нажатия и свайп, без проблем
kinjalik, на андроиде без оболочек. В любом приложении удерживает кнопку списка последних открытых приложений. Выбираешь из них нужное. Всё, два приложения.
kinjalik,
На голом Андроиде
Открываем список программ
Зажимаем нужное приложение
Переносим в верхнюю часть экрана
Всё! Ещё проще
gleb34783,
Не проще, более того эта функция ничем не обозначена на голом ведре. Чтоб ее включить, мне пришлось загуглить, чтоб включить на миуи мне пришлось выбрать 2 приложения.
Когда видел истинную многооконность, а не это.
serijj,
Настоящие окошки на таких маленьких дисплеях? Это бесполезно
Reronage,
Смотря кому, в бирже штука нужная, только они и выручают бывают
В хоноре это убого, а вот в мейзу это реализованно ещё с 5го флайма и на 5м ведре, причем соотношения окон можно менять хоть 1 к 19.
Bogdanoff7,
Да и видео проигрывались в окне ой как давно, и к сводке: видео в окне проигрывает km player на любой оси.
Bogdanoff7,
Можно сказать, не развито как надо. На 4.4 на первом Мэйте со второй ещё версией оболочки стандартные проги экран делили. Не надо тут с Мейзу.
ZenUi 3.0 уже поддерживает данную функцию)
Прикольная штуковина, использовал пару раз и забыл)
Кейс с английского — чемодан. Причем здесь чемодан и зачем его для модноты везде пихать? И зачем слушать интервью рэперов?
White Alpha,
case
n. случай, положение, дело; обстоятельство; доводы, доказательства; факты; судебное дело, судебная практика; казус, прецедент; больной, пациент; заболевание, история болезни, падеж [грам.]; регистр клавиатуры; ящик, коробка, ларец, контейнер; сумка, чемодан; футляр, чехол
На, держи, успокойся))))
DimonSith9001,
Ты умеешь копировать словарик! Но как бэ сути это не меняет. Можно аналогично взять английское слово, найти самый редко используемый перевод и применять. Много кто поймет? Но я тебе открою секрет — кейс слово из маркетинга, описывающее какую то конкретную ситуацию на рынке. Здесь приводиться техническое описание и используются гумманитарные термины. И это ни есть хорошо. Когда гуманитарий описывает технику — получается ничего. Полезность такого применения окон, судя по коментариям, нулевая. Но я использую окна и это помогают, но своим способом. А гуманитарий пусть дальше Пушкина читает.
Интересно о чём ты думал, когда считал, что я не умею копировать перевод?!
White Alpha,
В айти есть термин » юз кейс». Так что вполне по адресу авторы, зря предираетесь.
4live,
Не знал. И что означает?
White Alpha,
Способы использования
Тоже ждал эту функцию как ману небесную, поиграл пару дней и забросил, бесполезная. Гораздо проще переключаться между окнами. И при работе с почтой, браузером, профильными программами, месенджерами, а чтоб ютуб во время работы с документами это полная ерунда, получается ты и не там и не там.
«Тратить время на переключение окон» Что простите? Вы хотели сказать «тратить долю секунды на переключение окон»? Но мне почему то кажется, что я далеко не один, кому намного удобней потратить эту долю секунды чтобы ответить в мессенджере и переключится обратно на книгу/сайт. Тем более что всплывающая клавиатура займет еще половину от половины экрана. Может и есть какие-то сценарии где это разделение удобно, но здесь они не упомянуты.
vik84l,
Особенно понравилось — «Книга и мессенджеры. Читаем и чатимся с друзьями, не тратя время на переключение между окнами.» Автор явно книгу в руках не держал никогда.
Для смартфона фича ненужная. Для планшета-сомнительная. По крайней мере для меня.
kototkot,
Ну почему?
Вот скажем, сверху форум в интернете или книга в читалке, снизу вотсап или телега, где с кем-то прямо сейчас переписываешься.
Lexxx001
Гораздо интересней было бы перелистывание активных экранов свайпом. Как страницы в Cool Reader’е. Ну а я человек однозадачный, как DOS, поэтому мне эти функции не слишком интересны.
kototkot,
Листание — не то.
Вот скажем переписываешься, видишь, что человек пишет. пишет.. снова пишет.
Перескакиваешь в читалку — оп сообщение пришло! Оттарабанил ответ — и снова перескакиваешь в читалку.
Подбешивает. А так, все у тебя перед носом, не надо никуда тыкаться.
Самая удобная многозадачность была реализована в ios 5.1.1 с джейлбрейком, в твике Quasar.
Ничего удобнее и много оконные я не встречал. Не понимаю почему автор забросил этот твик на других версиях ios, и почему яблуки сами не могут реализовать тоже самое, тем более что твик уже работал и не требовал ни каких доработок.
При активации этого твика можно было открыть сколько угодно приложений, каждое приложение открывалось в своем окне и всё на одном экране, каждому окну можно было задать свой размер одним движением ( раздвинуть или свести два пальца на нужном окне), также можно было расположить любое окно в любом месте экрана, двумя тапами по нужному окну можно было перевести его в полноэкранный режим и наоборот. Я открывал одновременно 4 окона. Видео, игры, почта, месенжеры. И отрывал одновременно 4 версии Техас покера для игры за одним столом. В каждом окне активируется отдельная клавиатура. Все остальные твики и проги по многозадачности и многооконный и это фуфло по сравнению с этим твиком. И Гуглу и яблуку ещё работать и работать до нормальной многооконности. Кому интересно посмотрите как работал твик в Ютубе. Такой твик и в андроид планшетах не помешал бы. И самое главное на нем не было ограничений на поддержку софта, поддерживал любые игры и программы, я играл в clash of clsns и смотрел видео, оба экрана были всегда активны, тапами переключаешь на нужный экран.
Кто-нибудь прочитал, о чём он пишет, в двух словах?
Источник