Android: Issue with hiding title bar - android

I want to hide the title bar in all activities of my app. To do that, I put the following attribute in the tag:
android:theme="#android:style/Theme.NoTitleBar"
The title bar is now hidden, but my problem is that my app looks weird with that attribute.
Before:
http://imageshack.us/a/img831/6905/screenshot1355296053406.png
with the noTitleBar attribute:
http://imageshack.us/a/img211/581/screenshot1355295921669.png
It looks like there is less contrast..
It makes no difference if the noTitleBar attribute is in the application tag or in each activity tag.
Hope you can help me with my problem.

In onCreate() of activity write following:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

It's probably because you have also removed the Theme of your application together with the title bar.
I'm not sure what your theme was before, but you should extend an existing theme. Something like this in your styles file:
<style name="MyTheme" parent="android:Theme.Light.NoTitleBar.">
</style>
Maybe your parent theme should be android:Theme.Black.NoTitleBar?

You've accepted no answer so I'm going to toss my 2 cents in here:
Adding this snippet of code might be helpful:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

Related

How to remove the title bar from Android app

How to remove the title bar from my app.?
I tried by making changes in manifest file by adding "NoTitleBar" at the end of theme and i also followed the answer given in this question
"How to hide the title bar for an Activity in XML with existing custom theme"
But none of them worked for me.Please help
Use this:
requestWindowFeature(Window.FEATURE_NO_TITLE);
in your Activity.
You could add in your activity before you set view in oncreate function.
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
It is because your activity is extending ActionBarActivity. You could replace by extending Activity for your activity.
public class MainActivity extends Activity
I hope this will solve your problem.
In the AndroidManifest.xml file you can find a tag <application
That tag contains android:theme attribute, it must be something like "#style/AppTheme". Open the file styles.xml.
Find a tag style name="AppTheme" and change its parent attribute to be Theme.AppCompat.Light.NoActionBar.
In my case it is
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
To hide the title bar on the preview mode click on the button next to the orientation switcher button, that must open a popup where you can choose a style. Choose one with NoActionBar, for example DeviceDefault.Light.NoActionBar

How to remove default action bar in Android project?

I have created an Android application in Eclipse and when I have setting up I have unchecked every navigation bar. I still have the default navigation bar, how I can remove it?
You can do this in your activity:
ActionBar actionBar = getSupportActionBar(); \\ or getActionBar()
You can then hide it like this:
actionBar.hide();
Please note the warning about this in the "Removing the action bar" section of http://developer.android.com/guide/topics/ui/actionbar.html
In an app I made, I removed the title/ActionBar using this code in the onCreate method:
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main); //insert your own layout here
Make sure that the requestWindowFeature method appears before the setContentView method, because otherwise your Activity will crash.
First of all create a new theme/style within your styles.xml in the resources folder. Insert the following code within your resource tags:
<style name="noActionBar" parent="Theme.Base"></style>
By using parent "Theme.Base" it creates a blank screen to work on. Then just set your android theme to your new style in the android manifest, within the 'application' tags.
android:theme="#style/noActionBar"
Please note that if your class file for your activity contains any reference to the ActionBar it may crash when compiling.
Go in styles.xml and change to:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

Custom Title bar with Holo Themes

Like a lot of people, I would like to use a custom title bar in android but also use the Holo theme. I've seen a lot of posts recommending using Theme.Holo.NoActionBar but it still gives me the same error as when I change my custom theme to use Theme.Holo. I want to resolve once and for all, is it possible to use a custom title bar like this:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title_bar);
which seems to be the most common way to do it.
Well you can create another element layout which looks like title bar for you and in the current activity you can set requestWindowFeature(Window.FEATURE_NO_TITLE)
This way you get the holo theme aswell as custom title. This is commonly used practice in this scenario.
you can define parent="#android:style/Theme.Holo"
then just disable the windows action bar
like this
<item name="android:windowActionBar">false</item>
in theme.
It's working for me...

Custom titlebar - system titlebar being shown for a brief moment?

I've got a custom layout I want to use as the titlebar of my android app. The technique found (linked at the bottom) works, but the system titlebar is displayed before onCreate() is called. Obviously that looks pretty jarring, as for a moment the system titlebar is shown, then my custom titlebar is shown:
// styles.xml
<resources>
<style name="MyTheme">
<item name="android:windowTitleSize">40dip</item>
</style>
</resources>
// One of my activities, MyTheme is applied to it in the manifest.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.my_activity);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_header);
}
I could always hide the system titlebar and display my own in-line perhaps with each and every layout, but, that's not very friendly.
Thanks
http://www.londatiga.net/it/how-to-create-custom-window-title-in-android/
I think it's a framework limitation. I had the same problem in some of my applications and the ultimate solution was for me to tell the framework I didn't want a title bar at all and then create my own in my layouts. The include directive made it bearable for me, e.g.:
<include layout="#layout/title" />
When I used requestWindowFeature(Window.FEATURE_NO_TITLE) in my activities, I would have the same issue, I'd see the system title bar briefly while the activity was being build when it first loaded.
When I switched to using a theme to tell the framework I didn't want a title, the problem went away and I now see my own title directly on first load. The styling is easy for that:
<style name="FliqTheme" parent="#android:Theme.Black">
<item name="android:windowNoTitle">true</item>
</style>
I know this doesn't apply to your issue with the custom title, but like ptc mentioned, if you move your custom title into style/theme definitions (which you do by overriding the system title styles in your theme), I think you'll be on the right track.
The same problem happened to me today when I was trying to custom the title. I solved it by set the android:theme to android:style/Theme.NoTitleBar in the AndroidManifest.xml, and call setTheme() to the actual theme I want in my activity's onCreate callback function.
Try creating a custom theme style in XML and then set your activity's theme attribute in the AndroidManifest.xml file.
http://developer.android.com/guide/topics/ui/themes.html#ApplyATheme
The method through setting android:theme does not work for me, I have made it by adding the following code in onCreate() of my Activity subclass:
getWindow().addFlags(LayoutParams.FLAG_FULLSCREEN);

How to get rid of the program name bar at the top of the application?

i would like to get rid of the defualt grey bar which apears at the top of my application.
I just can't seem to find the attribute or setting to do so.
how can this be achived?
thanks
Use android:theme="#android:style/Theme.NoTitleBar", either for this specific <activity> element in your manifest, or for the whole <application> element if you want it gone for all of them. Here's a FAQ entry about it.
I tried the manifest method but for some reason it wasn't working.
However using the .java method as described here worked.
requestWindowFeature(Window.FEATURE_NO_TITLE);
Open app/src/main/res/values/styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
A good article why you should avoid removing the title bar from an app by Googler Reto Meier:
http://blog.radioactiveyak.com/2010/07/how-to-display-android-status-bar-in.html
Read and rethink if you really need to remove the title bar from your app.

Categories

Resources