2015-02-17 3 views
1

Если я применить тему для всего приложения скрывает ActionBar названия успешно:Скрыть ActionBar название только для одного вида деятельности

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="AppTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/ActionBarStyle</item> 
</style> 

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

Присвоить в манифесте:

<application 
    android:name="myapp" 
    android:allowBackup="true" 
    android:icon="@drawable/action_bar_icon" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

Мне нужно ActionBar название скрытого только в 1 деятельность.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="AppTheme" parent="@android:style/Theme.Holo.Light"> 
...other things... 
</style> 

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

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

установив эту тему явно для одного вида деятельности:

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" 
    android:id="@+id/mainLayout" 
    android:orientation="vertical" 
    android:theme="@style/MainActivityTheme"> 

и он по-прежнему показывает название в MainActivityActionBar. Я знаю, как скрыть заголовок в java, мне нужно знать, что я делаю неправильно здесь, в XML.

+0

Вы просто хотите скрыть заголовок панели действий или панель действий? – Apurva

+0

См. Сообщение [Как показать пользовательский вид панели действий только из одного фрагмента] (http://stackoverflow.com/questions/28061940/how-to-show-a-custom-actionbar-view-from-one-fragment -одно/28065244 # 28065244), чтобы получить представление – Xcihnegn

+0

Вы можете сделать это простым способом. В вашем 'onCreate' сделайте это' getActionBar.hide(); ' – Josef

ответ

4

Задайте тему своей деятельности в манифесте.

<activity 
    android:name=".MyActivity" 
    android:theme="@style/MainActivityTheme" /> 
2

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

<style name="AppTheme.NoActionBar"> 
    <item name="android:windowActionBar">false</item> 
</style> 

, а затем применить его к вашей деятельности в манифесте как так:

<activity android:name="NonActionBarActivity" 
      android:theme="@style/AppTheme.NoActionBar" /> 

Использование точечная нотация (AppTheme.NoActionBar) делает эту NoActionBar тему наследует все от AppTheme и отменяет настройку на android:windowActionBar. При желании вы можете явно отметить родитель:

<style name="AppThemeWithoutActionBar" parent="AppTheme"> 
    <item name="android:windowActionBar">false</item> 
</style> 

Кроме того, если вы используете библиотеки AppCompat, вы, вероятно, хотите, чтобы добавить пространство имен меньше версии для подтемы.

<item name="windowActionBar">false</item> 
0

Если вы хотите удалить actionbar title то просто удалитьlabel атрибут из <activity> тега в файле manifest.

Такие, как,

<activity 
     android:name=".YourActivityName" 
     android:label="@string/title" /> 

И после удаления,

<activity 
     android:name=".YourActivityName" /> 

Готово!

Смежные вопросы