Пользовательские вкладки — отличный вариант для создания индивидуального интерфейса браузера непосредственно в вашем приложении, но они не являются чем-то особенным. Пользовательские вкладки, созданные на основе системы Intent , представляют собой набор настраиваемых запросов опций, которые отправляются в предпочитаемый браузер конечного пользователя. Реализация различных опций зависит от каждого браузера. Доступность функций пользовательских вкладок может различаться в разных браузерах Android из-за различий в реализации.
Далее следует сравнение некоторых браузеров в экосистеме Android. Подавляющее большинство браузеров на Android имеют тот или иной уровень поддержки. Таблицы не являются исчерпывающими, они иллюстрируют уровень поддержки, которую вы, вероятно, получите. Вам следует изучить браузеры по умолчанию людей, использующих ваше приложение, и убедиться, что вы пишете код с осторожностью.
CustomTabsIntent.Builder
CustomTabsIntent.Builder
создает пользовательские вкладки. У вас есть несколько способов настроить пользовательскую вкладку, чтобы она максимально органично сочеталась с вашим приложением, с помощью набора встроенных методов, которые перечислены ниже.
addDefaultShareMenuItem()
addDefaultShareMenuItem() добавляет кнопку общего доступа по умолчанию на панель инструментов «Пользовательские вкладки», позволяя пользователю делиться текущей веб-страницей через различные приложения на своем устройстве.
добавитьМенюитем()
Добавляет пункт меню.
добавитьToolbarItem()
Добавляет кнопку действия на пользовательскую вкладку. С помощью этого метода можно добавить несколько кнопок.
включитьUrlBarHiding()
Позволяет скрывать строку URL-адреса, когда пользователь прокручивает страницу вниз.
УстановитьActionButton()
Устанавливает кнопку действия, отображаемую на панели инструментов, с тонировкой по умолчанию.
УстановитьЗакрытьКнопкуИкон()
Устанавливает пользовательскую кнопку закрытия, отображаемую на панели инструментов.
SetCloseButtonPosition()
Устанавливает значок кнопки «Закрыть» для настраиваемой вкладки.
setColorScheme()
Устанавливает цветовую схему, которая должна применяться к пользовательскому интерфейсу на настраиваемой вкладке.
УстановитьКолорСхемеПарамс()
Устанавливает цветовую схему, которая должна применяться к пользовательскому интерфейсу на настраиваемой вкладке.
setDefaultColorSchemeParams()
Устанавливает CustomTabColorSchemeParams()
для данной цветовой схемы. Это позволяет указать два разных цвета панели инструментов для светлой и темной схем.
setDefaultShareMenuItemEnabled()
Укажите, будет ли в меню добавляться элемент общего доступа по умолчанию.
установитьExitAnimations()
Устанавливает любую анимацию выхода.
setInitialActivityHeightPx()
Устанавливает начальную высоту пользовательского действия вкладки в пикселях с поведением изменения размера по умолчанию. Пользовательская вкладка будет вести себя как нижний лист. Это часто называют частичной пользовательской вкладкой.
setNavigationBarColor()
Устанавливает цвет панели навигации. Не влияет на версии API ниже L.
setNavigationBarDividerColor()
setSecondaryToolbarColor()
Устанавливает цвет дополнительной панели инструментов.
установитьShareState()
Устанавливает состояние общего доступа, которое должно быть применено к настраиваемой вкладке.
setShowTitle()
Устанавливает, должен ли заголовок отображаться на настраиваемой вкладке.
setStartAnimations()
Устанавливает стартовую анимацию.
setToolbarColor()
Устанавливает цвет панели инструментов. В Android L и более поздних версиях этот цвет также применяется к строке состояния.
setToolbarCornerRadiusDp()
Устанавливает радиусы верхнего угла панели инструментов в dp.
setUrlBarHidingEnabled()
Установите, должна ли строка URL скрываться, когда пользователь прокручивает страницу вниз.
CustomTabsClient
CustomTabsClient
— это необязательный класс для взаимодействия с CustomTabsService
и создания на его основе CustomTabsSession
.
разогревать()
Разогрейте процесс браузера.
CustomTabsSession
CustomTabsSession
— это необязательный класс, который вы можете предоставить экземпляру CustomTabsIntent.Builder()
. При использовании вы можете использовать этот класс для обработки любого взаимодействия с пользовательской вкладкой.
setEngagementSignalsCallback()
Устанавливает EngagementSignalsCallback
для получения обратных вызовов для событий, связанных с взаимодействием пользователя с веб-страницей на вкладке.
isEngagementSignalsApiAvailable()
Возвращает сведения о том, доступен ли API сигналов взаимодействия. Доступность API сигналов взаимодействия может измениться во время выполнения.
можетLaunchUrl()
Сообщает браузеру о вероятном будущем переходе по URL-адресу. Сначала необходимо указать наиболее вероятный URL-адрес. При желании можно предоставить список других вероятных URL-адресов. Они считаются менее вероятными, чем первые, и их необходимо отсортировать в порядке убывания приоритета. Эти дополнительные URL-адреса можно игнорировать. Все предыдущие вызовы этого метода будут лишены приоритета.