display view on top of action bar

lunaleaps picture lunaleaps · Mar 7, 2013 · Viewed 28.2k times · Source

Is there a way to render a view on top of the action bar? I want to create a small tip box that will point the user to an item in the action bar. I know that a Toast with a set view will be rendered above the action bar. Does anyone know how to do this with a view?

I have attempted using FrameLayout with layout_gravity="top" and inflating a view and then adding it to the running activity's layout.

I appreciate you in advance.

Edit: Here is an image of what I was thinking: enter image description here

Edit: Perhaps some more detail is needed. I am looking for a way, or to find out if it is even possible to add a view to the view hierarchy of the activity so that it is rendered last.

Similar to CSS, I want a higher z-index order for this particular view ( the blue floating box in the image), such that it would be rendered on top of the Action Bar region in the activity. The view is in no way associated with Action Bar, it is simply drawn on top of it.

Answer

Siavash picture Siavash · Oct 4, 2014

I was trying to achieve something else but I needed a solution similar to this. I needed to draw an opaque layer covering the whole screen, even the action bar--sort of like a dialog. I did so this way:

ViewGroup vg = (ViewGroup)(getWindow().getDecorView().getRootView());
vg.addView(myNewView, params);

this can be used to draw anything anywhere on the screen.

UPDATE: You really shouldn't be using ActionBar anymore, you wouldn't have this issue in the first place if you were using Toolbar like Android recommends. Toolbar would go inside your activity xml like a regular view and you can can do whatever you want to it. And its fully backwards compatible. https://developer.android.com/training/appbar/setting-up