How to update a menu item shown in the ActionBar?

Option #1: Try invalidateOptionsMenu(). I don’t know if this will force an immediate redraw of the action bar or not. Option #2: See if getActionView() returns anything for the affected MenuItem. It is possible that showAsAction simply automatically creates action views for you. If so, you can presumably enable/disable that View. I can’t seem to … Read more

Android Lollipop, AppCompat ActionBar custom view doesn’t take up whole screen width

Looks like this is caused by the latest changes to the ActionBar in the recent appcompat-v7 update. It seems like that there are significant changes to how you should handle action bars. I faced the same issue and after reading the ActionBar documentation, and especially the following quote I found a solution. Beginning with Android … Read more

Android transparent status bar and actionbar

I’m developing an app that needs to look similar in all devices with >= API14 when it comes to actionbar and statusbar customization. I’ve finally found a solution and since it took a bit of my time I’ll share it to save some of yours. We start by using an appcompat-21 dependency. Transparent Actionbar: values/styles.xml: … Read more

How to implement DrawerArrowToggle from Android appcompat v7 21 library

First, you should know now the android.support.v4.app.ActionBarDrawerToggle is deprecated. You must replace that with android.support.v7.app.ActionBarDrawerToggle. Here is my example and I use the new Toolbar to replace the ActionBar. MainActivity.java public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); … Read more

Change Toolbar color in Appcompat 21

again this is all in the link you supplied to change the text to white all you have to do is change the theme. use this theme <android.support.v7.widget.Toolbar xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:app=”http://schemas.android.com/apk/res-auto” android:id=”@+id/activity_my_toolbar” android:layout_width=”match_parent” android:layout_height=”wrap_content” android:minHeight=”?attr/actionBarSize” android:background=”?attr/colorPrimary” app:theme=”@style/ThemeOverlay.AppCompat.Dark.ActionBar” app:popupTheme=”@style/ThemeOverlay.AppCompat.Light”/>

ActionBarCompat: java.lang.IllegalStateException: You need to use a Theme.AppCompat

If you are extending ActionBarActivity in your MainActivity, you will have to change the parent theme in values-v11 also. So the style.xml in values-v11 will be – <!– res/values-v11/themes.xml –> <?xml version=”1.0″ encoding=”utf-8″?> <resources> <style name=”QueryTheme” parent=”@style/Theme.AppCompat”> <!– Any customizations for your app running on devices with Theme.Holo here –> </style> </resources> EDIT: I would … Read more

Setting Custom ActionBar Title from Fragment

What you’re doing is correct. Fragments don’t have access to the ActionBar APIs, so you have to call getActivity. Unless your Fragment is a static inner class, in which case you should create a WeakReference to the parent and call Activity.getActionBar from there. To set the title for your ActionBar, while using a custom layout, … Read more

SearchView’s OnCloseListener doesn’t work

I also meet this problem, and I have no choice but give up “oncloselistener”. Instead, you can get your menuItem, then setOnActionExpandListener. Then override unimplents methods. @Override public boolean onMenuItemActionExpand(MenuItem item) { // TODO Auto-generated method stub Log.d(“*******”,”onMenuItemActionExpand”); return true; } @Override public boolean onMenuItemActionCollapse(MenuItem item) { //do what you want to when close the … Read more

How to center align the ActionBar title in Android?

To have a centered title in ABS (if you want to have this in the default ActionBar, just remove the “support” in the method names), you could just do this: In your Activity, in your onCreate() method: getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.abs_layout); abs_layout: <?xml version=”1.0″ encoding=”utf-8″?> <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:layout_gravity=”center” android:orientation=”vertical”> <androidx.appcompat.widget.AppCompatTextView android:id=”@+id/tvTitle” style=”@style/TextAppearance.AppCompat.Widget.ActionBar.Title” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:gravity=”center” … Read more