Я пытаюсь сделать некоторые вещи на ActionBar в Android.
Я уже добавил новые предметы в правой части панели действий.
Как я могу изменить левую сторону панели действий? Я хочу изменить значок и текст, а также добавить кнопку «Назад» на панели действий для других экранов.
android
android-layout
android-actionbar
Аллан Рамирес
источник
источник
getSupportActionBar
вместоgetActionBar
.getActionBar().setHomeButtonEnabled(true)
использует API уровня 14 или выше, если вы просто хотите использовать функциональность кнопки «Назад» в старых, а также новых API, которые вам просто необходимыgetActionBar().setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowTitleEnabled(true)
тогдаsupportActionBar?.title = "your title"
. И это должно быть сделано вonResume
, а не вonCreate
, при создании деятельности сstartActivity
.Чтобы сделать один значок доступным для всех ваших панелей действий, вы можете сделать это в своем манифесте Android.
источник
pre-loads
значок, значок программных настроек медленный!Вам просто нужно добавить эти 3 строки кода. Замените значок на свой собственный значок. Если вы хотите создавать иконки, используйте это
источник
В Android 5.0 рекомендации по дизайну материалов не поощряют использование значков в actionBar
чтобы включить его, добавьте следующий код
Автору принадлежит автор этой статьи
источник
Если вы хотите изменить заголовок панели действий, просто введите следующий 1-строчный код в onCreate () вашего Activity
источник
Вы можете изменить значок в вашем приложении, добавив любой значок в соответствующие папки для рисования, а затем изменив эту строку в файле AndroidManifest.xml:
чтобы соответствовать любому имени вашей иконы там. Или поместите свою иконку как ic_launcher, если они - та же самая иконка. Что касается того, что он говорит, добавьте или измените все строки, совпадающие с таковыми в вашем файле res / values / strings.xml. Затем, еще раз в вашем файле AndroidManifest.xml, измените эту строку:
к какой-либо струне у вас есть в их. Вы должны будете сделать это для приложения в целом, и любых действий, которые вы хотите, но линии одинаковы.
Надеюсь это поможет.
источник
android:icon
в теге активности?источник
Для этого вы можете сделать это двумя способами: XML или Java. Смотрите здесь: Как изменить текст на панели действий
Так:
XML:
Ява:
источник
setTitle(CharSequence text)
илиsetTitle(int titleRes)
. Не используйте,requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)
если вы не планируете заменить всю строку заголовка своим собственным видом.Для набора Название :
Для набора Icon :
источник
Я использовал следующий вызов внутри
onNavigationItemSelected
:источник
Добавьте приведенный ниже код в функцию onCreate в своей деятельности.
источник
Эта работа для меня:
источник
В заголовке панели действий по умолчанию будет использоваться метка текущей активности, но вы также можете установить ее программно через
ActionBar.setTitle()
.Чтобы реализовать функциональность кнопки «Назад» (точнее, «Вверх»), о которой вы говорите, прочитайте раздел «Использование значка приложения для навигации» руководства разработчика панели действий. .
Наконец, чтобы изменить значок, руководство охватывает это также. Вкратце, на панели действий будет отображаться изображение, представленное
android:icon
в вашем манифестеapplication
илиactivity
элементе, если таковой имеется. Типичная практика заключается в создании значка приложения (со всеми нужными вам значениями плотности) с именемic_launcher.png
и его размещении вdrawable-*
каталогах.источник
Я получил
non-static method setTitle(CharSequence) cannot be referenced from a static context
ошибку, потому что я использовалsetTitle()
в статическом классе PlaceholderFragment. Я решил это с помощьюgetActivity().getActionBar().setTitle("new title");
источник
Перейдите к манифесту, в котором конкретное действие вы хотите изменить. Панель действий Название заголовка и напишите android: label = "Название заголовка"
источник
Перейдите в файл AndroidManifest.xml . Найти
<application>
тег Там вы можете увидеть атрибутТеперь перейдите к res> values> strings.xml
Изменить
в
пример
AndroidManifest.xml
strings.xml
источник
Вы также можете сделать следующее:
источник