Как удалить текст заголовка с панели действий Android? - PullRequest
99 голосов
/ 05 октября 2011

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

Как я могу это сделать?

Ответы [ 20 ]

205 голосов
/ 14 июля 2012

Попробуйте:

 getActionBar().setDisplayShowTitleEnabled(false);

Для версии 7:

 getSupportActionBar().setDisplayShowTitleEnabled(false);
93 голосов
/ 14 января 2013

Я думаю, что это правильный ответ:

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="android:displayOptions">showHome|useLogo</item>
    <item name="displayOptions">showHome|useLogo</item>
</style>
63 голосов
/ 13 июля 2012

Я очень плохо знаком с Android, поэтому поправьте меня, если я ошибаюсь, но я думаю, что если вы решите использовать навигационные вкладки на панели действий, они, кажется, не будут полностью выровнены по левому краю, потому что цвет текста заголовка только прозрачный и не ушел.

<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
     <item name="android:displayOptions">useLogo|showHome</item>
</style>

работал на меня.

42 голосов
/ 05 октября 2011

Понял.Вы должны переопределить

android:actionBarStyle

, а затем в своем собственном стиле вы должны переопределить

android:titleTextStyle

Вот пример.

В моем themes.xml:

<style name="CustomActionBar" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

И в моем styles.xml:

<style name="CustomActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@style/NoTitleText</item>
        <item name="android:subtitleTextStyle">@style/NoTitleText</item>
</style>

<style name="NoTitleText">
        <item name="android:textSize">0sp</item>
        <item name="android:textColor">#00000000</item>
</style>

Я не уверен, почему установка textSize в нольТрюк не сработал (он сжал текст, но не заставил его исчезнуть), но установил прозрачный текст textColor.

20 голосов
/ 30 марта 2012

в вашем манифесте

<activity android:name=".ActivityHere"
     android:label="">
12 голосов
/ 20 июня 2016

Напишите это утверждение в

setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);

, если для расширения AppCompactActivity используйте getSupportActionbar(), если для расширения Activity используйте getActionBar(), иначе оно может дать

null pointer exception

Использование android:label="" в AndroidManifest.xml для активности также работает, но ваше приложение не появится в Recently used apps

7 голосов
/ 29 сентября 2016

у вас есть два варианта:

первый:

getActionBar().setDisplayShowTitleEnabled(false);

Если usign getActionBar() выдает исключение нулевого указателя, вы должны использовать getSupportActionBar()

Второй

getSupportActionBar().setTitle("your title");

или

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
6 голосов
/ 25 мая 2015

я использую этот код в манифесте приложения

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:logo="@drawable/logo2"
        android:label="@string/title_text"
        android:theme="@style/Theme.Zinoostyle" >

мой файл логотипа имеет размер 200 * 800 пикселей и использую этот код в основной деятельности. Java

getActionBar().setDisplayShowTitleEnabled(false);

это будет работать Corectly

5 голосов
/ 15 августа 2014

Вы можете изменить стиль, применяемый к каждому действию, или, если вы хотите изменить только поведение для определенного занятия, вы можете попробовать это:

setDisplayOptions(int options, int mask) --- Set selected display 
  or
setDisplayOptions(int options) --- Set display options.

Чтобы отобразить заголовок на панели действий, установите параметры отображения в onCreate ()

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);

Чтобы скрыть заголовок на панели действий.

getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

Подробности здесь .

5 голосов
/ 05 сентября 2017

Я попробовал это.Это поможет -

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

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

...