This answer describes how to use the new ActionBarCompat library (July 2013).
In Android Studio, open build.gradle
and add this:
dependencies {
compile 'com.android.support:appcompat-v7:18.0.+'
}
In Eclipse, create a library project based on the code in sdk\extras\android\support\v7\appcompat
and add it to your project.
Activities have to extend ActionBarActivity
.
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.app.ActionBar;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
ActionBar ab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ab = getSupportActionBar();
ab.setTitle("Test");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView =
(SearchView) MenuItemCompat.getActionView(searchItem);
return super.onCreateOptionsMenu(menu);
}
}
Themes have to be (or extend) one of the Theme.AppCompat
themes, for example:
<activity android:theme="@style/Theme.AppCompat.Light" ... />
Source: How to add ActionBarCompat to your project, blog post by Gabriele Mariotti