Mikhail Kharbanov
Mikhail Kharbanov

Reputation: 441

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

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?

Upvotes: 38

Views: 33590

Answers (9)

pruthwiraj.kadam
pruthwiraj.kadam

Reputation: 1093

 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);

  }  
}

Upvotes: -1

Marc
Marc

Reputation: 604

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.

Upvotes: 1

Andoctorey
Andoctorey

Reputation: 778

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

Upvotes: 12

Febriansyah
Febriansyah

Reputation: 101

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 :)

Upvotes: 9

Try

  getSupportActionBar().hide() 

if you are using AppCompatActivity

And

 getActionBar().hide() 

if your activity extends ActionBarActivity. Hope it helps.

Upvotes: 20

Obaidah
Obaidah

Reputation: 101

If you're using support library use:

getSupportActionBar().setDisplayShowTitleEnabled(false);

If not then use

getActionBar().setDisplayShowTitleEnabled(false);

Upvotes: 8

John O&#39;Reilly
John O&#39;Reilly

Reputation: 10350

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>

Upvotes: 73

Brexx Galangue
Brexx Galangue

Reputation: 11

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

Upvotes: -1

saksham agarwal
saksham agarwal

Reputation: 260

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

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

Upvotes: 16

Related Questions