How to remove Title Bar from Activity extending ActionBarActivity or AppcompatActivity with Dialog Theme

33.1k views Asked by At

I had to extend my Activity with theme Theme.AppCompat.Light.Dialog from ActionBarActivity before and now from AppcompatActivity, because my Base Activity extends this one.

But now with new appcompat v7 (v22) library my Activity started to show title bar despite the fact that i use custom style with items windowActionBar=false, android:windowNoTitle=true. But until appcompat library upgraded there isn't such problem, title bar wasn't showed.

If my activity extends FragmentActivity everything is ok and i understand that maybe i use a bad pattern that my dialog activity extends from AppcompatActivity but i would like to know is there a way to remove title bar?

9

There are 9 answers

0
Brexx Galangue On

Try to add this code on your manifest, specifically, to the activity that you want to disappear its Actionbar:

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

hope it helps :D

1
saksham agarwal On

You can hide the action bar at runtime by calling hide(). For example:

ActionBar actionBar = getSupportActionBar();
actionBar.hide();
2
pruthwiraj.kadam On
 public class MainActivity extends 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);

  }  
}
1
Marc On

Adding android:theme="@style/AppTheme.NoActionBar" in AndroidManifest.xml does the trick in my case.

@Brexx Galangue solution gave me the following runtime error:

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
Febriansyah On

To solve the actionbar on class extend AppCompatActivity I start with define new theme extend from main theme in style.xml file :

style.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>

and implement noactionbar theme to activity that you want in AndroidManifest.xml. Hope this help :)

4
John O'Reilly On

I had same issue and needed to do something like following to resolve (note use of "windowNoTitle" instead of "android:windowNoTitle")

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

If you're using support library use:

getSupportActionBar().setDisplayShowTitleEnabled(false);

If not then use

getActionBar().setDisplayShowTitleEnabled(false);
0
Andoctorey On

Only one thing work in AppCompat Theme - supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

0
Krishna Satwaji Khandagale On

Try

  getSupportActionBar().hide() 

if you are using AppCompatActivity

And

 getActionBar().hide() 

if your activity extends ActionBarActivity. Hope it helps.