Item name android windowactionbar false item

Android: как скрыть ActionBar при определенных действиях

Я разработал простое демо-приложение с заставкой экрана и некоторые обычные экраны.

У меня есть панель действий наверху, которая содержит логотип. Все это прекрасно выглядит на моем телефоне (Galaxy s1 I9000 V2.3), но когда я тестирую его на Galaxy s2 v4, панель действий появляется также в заставке и на экране карты.

Активность спалса и карты даже не наследуется от ActionBarActivity, так как это возможно и как я могу заставить его уйти?

Определение MapActivity (оно длинное, поэтому я включил только определение):

ОТВЕТЫ

Ответ 1

Примените следующее в своей теме для Activity в AndroidManifest.xml :

Это должно сделать трюк.

Ответ 2

Поскольку вы спрашиваете о том, как спрятаться в определенном упражнении, это то, что вам нужно:

Ответ 3

1. Вернитесь к своему файлу manifest.xml .

2. Find activity tag , для которого вы хотите скрыть свой ActionBar, а затем add ,

Android: тема = «@стиль/Theme.AppCompat.NoActionBar»

Ответ 4

Если вы хотите получить полный экран без действийBar и Title.

Добавьте его в style.xml

и используйте стиль при активности manifest.xml.

Ответ 5

ActionBar обычно существует вдоль Fragments , поэтому из Activity вы можете скрыть его

и из Fragment вы можете сделать это

Ответ 6

Если вы используете Theme.AppCompat.Light, лучшим эквивалентом будет Theme.AppCompat.Light.NoActionBar.

Я обнаружил, что использование Theme.AppCompat.NoTitleBar заставило мой текст кнопки быть невидимым, поэтому я использую Theme.AppCompat.Light.NoActionBar.

Ответ 7

Вы можете использовать режим низкого профиля Смотрите здесь

Просто найдите SYSTEM_UI_FLAG_LOW_PROFILE , который также уменьшает навигационные кнопки, если они присутствуют на экране.

Ответ 8

Это работает для меня! Поместите это в свою деятельность в манифестах

Вы также можете сделать свою собственную тему в файле styles.xml следующим образом:

Надеюсь, это поможет.

Ответ 9

Вышеупомянутые ответы помогут в действии ActionBar. Чтобы добавить к нему, используйте следующий код, если вы используете экран заставки: Используйте это, прежде чем устанавливать представление содержимого:

Просто, чтобы уточнить, вот как вы это делаете:

Это сделает ваш экран полным экраном, т.е. удалит верхнюю панель, где вы увидите сетевую панель, и т.д.

Ответ 10

Примените следующее в своей Теме для Действия в AndroidManifest.xml:

Затем примените следующее в вашем стиле в style.xml

Ответ 11

Это работает в API 27

В файле styles.xml замените код на следующий.

Затем в файлы (например, activity_list.xml), в которых вы хотите иметь панель инструментов, поместите следующий код.

Если у вас есть проблемы, переключитесь на линейную разметку (потому что именно на этом тестируется этот код)

Ответ 12

Начиная с Android 3.0 (уровень API 11), все действия, использующие тему по умолчанию, имеют панель действий в качестве панели приложения. Тем не менее, функции панели приложений постепенно добавляются в родную панель действий в различных версиях Android. В результате нативный ActionBar ведет себя по-разному в зависимости от того, какую версию системы Android может использовать устройство. Напротив, самые последние функции добавляются в версию панели инструментов библиотеки поддержки и доступны на любом устройстве, которое может использовать библиотеку поддержки.

Поэтому одним из вариантов является полное отключение ActionBar (в файле app manifest.xml), а затем добавление панели инструментов на каждую страницу, для которой требуется ActionBar.

Читайте также:  Чтобы андроид показывал пароли

(перейдите по ссылке выше для пошагового объяснения)

Источник

Замена панели действий

Обзор

Одно из наиболее распространенных применений Toolbar — Замена панели действий по умолчанию настраиваемой Toolbar (при создании нового проекта Android используется панель действий по умолчанию). Так как Toolbar предоставляет возможность добавлять фирменные логотипы, заголовки, элементы меню, кнопки навигации и даже пользовательские представления в раздел панели приложений пользовательского интерфейса действия, он предлагает значительное обновление по умолчанию на панели действий.

Чтобы заменить панель действий по умолчанию приложения на Toolbar :

Создайте новую пользовательскую тему и измените свойства приложения так, чтобы она использовала эту новую тему.

Отключите windowActionBar атрибут в пользовательской теме и включите windowNoTitle атрибут.

Определите макет для Toolbar .

Включите Toolbar Макет в файл макета Toolbar действия.

Добавьте код в OnCreate метод действия для нахождение Toolbar и вызова SetActionBar для установки в ToolBar качестве панели действий.

В следующих разделах подробно описывается этот процесс. Создается простое приложение, и его панель действий заменяется настроенной Toolbar .

Запуск приложения Project

Создайте проект Android с именем тулбарфун (Дополнительные сведения о создании нового проекта Android см. в разделе Hello, Android ). После создания проекта задайте для целевых и минимальных уровней API Android значение Android 5,0 (уровень API 21-без описания) или более поздней версии. Дополнительные сведения о настройке уровней версии Android см. в разделе Общие сведения об уровнях API Android. При сборке и запуске приложения отображается панель действий по умолчанию, как показано на следующем снимке экрана:

Создание пользовательской темы

Откройте каталог Resources/Values и создайте новый файл с именем styles.xml. Замените его содержимое следующим XML-кодом:

Этот XML-код определяет новую пользовательскую тему под названием мисеме , основанную на теме Theme. материальн. light. даркактионбар в параметре без описания операций. windowNoTitle Атрибут имеет значение, true чтобы скрыть строку заголовка:

Чтобы отобразить пользовательскую панель инструментов, необходимо отключить значение по умолчанию ActionBar :

Параметр «оливковый-зеленый» colorPrimary используется для фонового цвета панели инструментов.

Применение пользовательской темы

Измените Свойства/AndroidManifest.xml и добавьте следующий атрибут в элемент, чтобы приложение использовало MyTheme пользовательскую тему:

Дополнительные сведения о применении пользовательской темы к приложению см. в разделе Использование пользовательских тем.

Определение макета панели инструментов

В каталоге ресурсов или макета создайте новый файл с именем toolbar.xml. Замените его содержимое следующим XML-кодом:

Этот XML-код определяет пользовательский объект Toolbar , который заменяет панель действий по умолчанию. Минимальная высота параметра равна Toolbar размеру заменяемой панели действий:

Цвет фона элемента Toolbar задается в цвете «оливковый-зеленый», определенный ранее в Toolbar :

Начиная с с параметром без описания, android:theme атрибут может использоваться для стиля отдельного представления. ThemeOverlay.Material Темы, появившиеся в интерфейсе без описания операций, позволяют накладывать темы по умолчанию Theme.Material , переписывая соответствующие атрибуты, чтобы сделать их светлыми или темными. В этом примере Toolbar компонент использует темную тему, чтобы ее содержимое было светлым в цвете:

Читайте также:  Android media type support

Этот параметр используется, чтобы элементы меню отличались от более темного цвета фона.

Включить макет панели инструментов

Измените файл макета Resources/Layout/Main. axml и замените его содержимое следующим XML-кодом:

Этот макет включает в себя Toolbar определенный в Toolbar и использует, RelativeLayout чтобы указать, что компонент должен Toolbar быть размещен в самом верху пользовательского интерфейса (над кнопкой).

Поиск и активация панели инструментов

Измените MainActivity. CS и добавьте следующую инструкцию using:

Кроме того, добавьте в конец метода следующие строки кода OnCreate :

Этот код находит Toolbar вызовы и SetActionBar , чтобы команда Toolbar предложит характеристики панели действий по умолчанию. Заголовок панели инструментов изменится на панель инструментов. Как показано в этом примере кода, на него ToolBar можно ссылаться непосредственно как на панель действий. Компилировать и запустить это приложение — настроенное значение Toolbar отображается вместо панели действий по умолчанию:

Обратите внимание, что Toolbar стиль определяется независимо от Theme.Material.Light.DarkActionBar темы, которая применяется к оставшейся части приложения.

Если при выполнении приложения возникает исключение, см. раздел Устранение неполадок ниже.

Добавление пунктов меню

В этом разделе меню добавляются в Toolbar . Верхняя правая область ToolBar зарезервирована для пунктов меню — каждый пункт меню (также называемый ToolBar ) может выполнять действия в рамках текущего действия или выполнять действия от имени всего приложения.

Чтобы добавить меню в Toolbar :

Добавьте значки меню (при необходимости) в mipmap- папки проекта приложения. Google предоставляет набор значков свободного меню на странице значков материалов .

Определите содержимое пунктов меню, добавив новый файл ресурсов меню в разделе ресурсы/меню.

Реализуйте OnCreateOptionsMenu метод действия — этот метод расширяет пункты меню.

Реализуйте OnOptionsItemSelected метод действия — этот метод выполняет действие при касании пункта меню.

В следующих разделах подробно описывается этот процесс путем добавления элементов меню Правка и сохранить в настроенные .

Значки меню «установить»

Продолжая работу с ToolbarFun примером приложения, добавьте значки меню в проект приложения. Загрузите значки панели инструментов, распакуйте и скопируйте содержимое извлеченных mipmap- папок в проект mipmap- Folders в тулбарфун/Resources и включите каждый добавленный файл значков в проект.

Определение ресурса меню

Создайте новый подкаталог меню в разделе ресурсы. В подкаталоге меню создайте новый файл ресурсов меню с именем top_menus.xml и замените его содержимое следующим XML-кодом:

Этот XML-код создает три пункта меню:

Пункт меню » Правка «, в котором используется значок (карандаш).

Пункт меню » сохранить «, в котором используется значок (дискета).

Элемент меню настроек , у которого нет значка.

showAsAction Атрибуты пунктов меню showAsAction и сохранить имеют значение — этот параметр приводит к тому, что эти пункты меню будут отображаться в, Toolbar Если для их отображения достаточно места. Элемент меню « настройки» имеет значение never – это приводит к тому, что меню « never отображается в меню переполнения (три вертикальные точки).

Реализация Онкреатеоптионсмену

Добавьте следующий метод в MainActivity. CS:

Android вызывает OnCreateOptionsMenu метод, чтобы приложение могла указать ресурс меню для действия. В этом методе ресурс top_menus.xml преобразуется в переданный . Этот код приводит к отображению новых элементов меню Правка, сохранитьи настройки в .

Реализация Оноптионситемселектед

Добавьте следующий метод в MainActivity. CS:

Когда пользователь касается пункта меню, Android вызывает OnOptionsItemSelected метод и передает выбранный элемент меню. В этом примере реализация просто отображает всплывающее уведомление, указывающее, какой пункт меню был касанием.

Читайте также:  Camscanner pro для андроид

Выполните сборку и запуск, ToolbarFun чтобы просмотреть новые пункты меню на панели инструментов. Toolbar Теперь отображается три значка меню, как показано на следующем снимке экрана:

Когда пользователь отменяет пункт меню «Правка», отображается всплывающее уведомление, указывающее, что был вызван метод:

При касании пользователем меню переполнения отображается пункт меню настройки . Обычно менее распространенные действия следует помещать в меню переполнения. в этом примере используется меню переполнения для настройки , так как оно не используется так часто, как Редактирование и Сохранение.

Дополнительные сведения о меню Android см. в разделе меню разработчиков Android.

Диагностика

Следующие советы могут помочь в отладке проблем, которые могут возникнуть при замене панели действий на панель инструментов.

У действия уже есть панель действий

Если приложение неправильно настроено для использования пользовательской темы, как описано в разделах применение пользовательской темы, при запуске приложения может возникнуть следующее исключение:

Кроме того, может быть создано сообщение об ошибке следующего типа: Java. lang. иллегалстатиксцептион: это действие уже содержит панель действий, предоставленную в окне дéкор.

Источник

Подключаем Toolbar

Toolbar — это полная замена ActionBar’а. В отличие от него Toolbar более настраиваемый. Так как Toolbar является обычным View, то мы можем разместить в нем любые View-компоненты (например, логотип компании). В этом уроке я расскажу, как добавить Toolbar в свое приложение.

Подготовка

Для того, чтобы добавить Toolbar в приложение нам нужно подключить библиотеку AppCompat из Android Support Library v7. Я не буду описывать как подключать эту библиотеку к проекту, т. к. в разных IDE это делается абсолютно по-разному.

Подключаем

Для начала нам нужно создать файл themes.xml в папке res/values вашего проекта и вставить в него следующий код:

colorPrimary — цвет нашего Toolbar’а
colorPrimaryDark — цвет статусбара (доступно с Android KitKat 4.4)
colorAccent — цвет виджетов приложения по умолчанию.

Теперь нам нужно прописать нашу тему в манифесте в разделе application:

Создайте файл toolbar.xml в папке res/layout после чего вставьте в него этот код:

После этого мы можем подключать наш Toolbar, прописав в layot-файле:

Готово. Осталось лишь указать нашей Activity на наш Toolbar. Но прежде чем это сделать нам нужно унаследоваться от ActionBarActivity вместо обычного класса Activity. Это нужно потому, что в классе AppCompatActivity есть метод setSupportActionBar(Toolbar), с помощью которого мы и указываем нашей Activity на Toolbar:

Устанавливаем цвет шрифта

Мы также можем изменить цвет заголовка Toolbara, вызвав метод setTitleTextColor и передать на вход наш цвет:

Чтобы каждый раз не прописывать цвет в коде мы можем сделать это в themes.xml, вставив между тегами style:

Включаем подсветку статусбара

Для того, чтобы статус бар подсвечивался вставляем между тегами style в values/themes.xml:

Создадим в файле values/dimens.xml новый dimen:

А файлах values-v19/dimens.xml и values-v21/dimens.xml вставляем:

24dp — это высота статусбара.

Устанавливаем отступ сверху нашему Toolbar’у:

Мы установили отступ в 24 dp в 19 и 21 версиях API, так как только у них поддерживается подсветка статусбара.

Также не забудьте поменять в манифесте targetSdkVersion на 19 или выше.

Начиная с Support Library v22 ActionBarActivity считается устаревшим. На замену к нему пришел AppCompatActivity.

Источник

Оцените статью