2015-06-10 28 views
22

因爲我的基本活動擴展了這個功能,所以我必須從ActionBarActivity的主題Theme.AppCompat.Light.Dialog擴展我的活動,然後從AppcompatActivity擴展。如何從活動中刪除標題欄使用對話框主題擴展ActionBarActivity或AppcompatActivity

但現在有了新的appcompat v7(v22)庫,我的活動開始顯示標題欄,儘管我使用自定義樣式的項目windowActionBar = false,android:windowNoTitle = true。但是,直到appcompat庫升級,沒有這樣的問題,標題欄沒有顯示。

如果我的活動延伸FragmentActivity一切都很好,我明白,也許我使用了一種不好的模式,我的對話活動從AppcompatActivity擴展,但我想知道有沒有一種方法可以刪除標題欄?

+0

你爲什麼不因爲activty從繼承一些共同的東西只是延長活動 – 3xplore

+0

擴展AppCompatActivity的基類活動。在我的應用中,幾乎所有的活動都擴展了這個基礎 –

+0

@MikhailKharbanov你找到解決這個問題的方法嗎? – f470071

回答

-1

嘗試在你的清單中添加該代碼,具體到要消失的活動及其Actionbar

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > 

希望它能幫助:d

+0

謝謝你的回覆,但我想正確使用Theme.AppCompat.Light.Dialog。我的活動必須像對話框 –

+0

你的意思是說,你正在創建一個自定義對話框? –

+0

我正在創建Activity,而不是AlertDialog或DialogFragment。 –

13

可以隱藏在運行時操作欄通過調用hide()。例如:

ActionBar actionBar = getSupportActionBar(); 
actionBar.hide(); 
+0

我試過,但getSupportActionBar返回null –

+0

Android Studio抱怨,直到我包裝actionBar.hide();在空的檢查:if(actionBar!= null){actionBar.hide();} – proximous

+1

嘗試getSupportActionBar()。hide()...它會工作.. –

50

我有同樣的問題,做一些像下面來解決(注意使用「windowNoTitle」的而不是「機器人:windowNoTitle」)需要

<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 
+1

@Mikhail這應該是接受的答案。作品! :) – PieterAelse

+1

是的,它解決了問題!謝謝:) –

+1

它工作。好答案! –

7

如果您在使用支持庫的使用:

getSupportActionBar().setDisplayShowTitleEnabled(false); 

如果沒有,那麼使用

getActionBar().setDisplayShowTitleEnabled(false); 
+0

沒有一種基於樣式的方法適用於我(我的Activity繼承自AppCompatActivity);但是這樣做了:謝謝! – DenisGL

8

嘗試

getSupportActionBar().hide() 

如果你是,如果你的活動來延長使用ActionBarActivity AppCompatActivity

而且

getActionBar().hide() 

。 希望它有幫助。

+0

謝謝,它的工作原理! – CoolMind

1

在AndroidManifest.xlm中添加android:theme="@style/AppTheme.NoActionBar"在我的情況下做的伎倆。 @Brexx Galangue解決方案給了我以下運行時錯誤:

java.lang.RuntimeException: Unable to start activity  
Caused by: java.lang.IllegalStateException: You need to use 
a Theme.AppCompat theme (or descendant) with this activity. 
+0

我也遇到這個錯誤,但'android:theme =「@ style/AppTheme.NoActionBar」'在我的情況下是未知的。 – CoolMind

5

爲了解決階級的動作條延長AppCompatActivity我開始定義新的主題,從主旋律style.xml文件擴展:

風格。 XML

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

 
    <style name="AppTheme.NoActionBar"> 
 
     <item name="windowActionBar">false</item> 
 
     <item name="windowNoTitle">true</item> 
 
    </style>

和實施noactionbar主題活動,你在AndroidManif希望est.xml。希望這有助於:)

3

只有一點工作程序兼容性主題 - supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

0

公共類MainActivity擴展AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
      getSupportActionBar().setCustomView(R.layout.custom_title_bar); 

     } } 
相關問題