it-swarm.com.ru

Как удалить текст заголовка с панели действий Android?

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

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

96
Christopher Perry

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

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 на прозрачный работает.

41
Christopher Perry

Пытаться:

getActionBar () setDisplayShowTitleEnabled (ложь).

Для v.7:

getSupportActionBar () setDisplayShowTitleEnabled (ложь).

198
Filippo Mazza

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

<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>
93
cesards

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

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

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

63
sparknoob

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

<activity Android:name=".ActivityHere"
     Android:label="">
20
easycheese

Напишите это заявление под 

setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);

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

null pointer exception

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

12
Manohar Reddy

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

первый:

getActionBar().setDisplayShowTitleEnabled(false);

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

Второй

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

или же 

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
7
Hamid

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

<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 

6
Milaaaad

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

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
Siqi Liu

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

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

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

5
yashpandey
getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().hide();

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

3
MeshPadukka

Используйте следующее:

requestWindowFeature(Window.FEATURE_NO_TITLE);
2
Vivek

Если вы хотите сделать это только для одного действия и, возможно, даже динамически, вы также можете использовать

ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);
2
Heiko Rupp

Единственное, что действительно сработало для меня, это добавить:

<activity 
    Android:name=".ActivityHere"
    Android:label=""
>
2
Andreas-HD

Хотя все это приемлемо, если ваша деятельность содержит только основную деятельность, вы можете редактировать res\values\styles.xml следующим образом:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

Я обновил parent и добавил свойство .NoActionBar в тему Light в мастере Android Studios Create Blank Application.

1
eyoung100

в качестве обходного пути просто добавьте эту строку, если у вас есть пользовательские действия/панели инструментов

this.setTitle("");

в вашей деятельности

1
Mihsen

Просто расширяет ваш Java-файл из AppCompatActivity и делаете это: 

ActionBar actionBar = getSupportActionBar(); // support.v7
actionBar.setTitle(" ");
1
HarsH

На своей странице manifest.xml вы можете указать адрес своей активности. адрес находится где-то в ваших значениях/strings.xml. тогда вы можете изменить значение тега в XML-файле на ноль.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title_main_activity"></string>
</resources>
0
Damoon

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

<activity
        Android:name=".Bcft"
        Android:screenOrientation="portrait"

        **Android:label="" >**

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

0
Ebin Xavier Jose