У меня проблема с выравниванием SearchView при его расширении. По какой-то причине в свернутом состоянии он выравнивается по правому краю, а в раскрытом — по левому. Я сделал все по примерам ActionBarSherlock.
Вот два скриншота проблемы:
http://img59.imageshack.us/img59/8976/.png
http://img577.imageshack.us/img577/9890/.png
Мне еще предстоит решить, хочу ли я использовать вкладки ActionBar. Я не хочу, чтобы searchView скрывал их при расширении. Но это к другому вопросу. Моей главной проблемой здесь является выравнивание SearchView при расширении. Я хочу, чтобы он сохранял правильное выравнивание, несмотря ни на что.
Вот мой onCreateOptionsMenu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.menu_main, menu);
searchMenuItem = menu.findItem(R.id.action_search);
refreshMenuItem = menu.findItem(R.id.action_refresh);
refreshMenuItem.setActionView(R.layout.refresh_progressbar);
searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
flightsListAdapter.getFilter().filter("");
return true;
}
});
searchView = (SearchView)searchMenuItem.getActionView();
searchView.setQueryHint(getResources().getString(R.string.search_hint));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
searchView.clearFocus();
return true;
}
@Override
public boolean onQueryTextChange(String query) {
flightsListAdapter.getFilter().filter(query);
return true;
}
});
searchView.clearFocus();
return true;
}
А вот мой menu_main.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_search"
android:title="@string/search"
android:icon="@drawable/ic_search"
android:showAsAction="always|collapseActionView"
android:actionViewClass="com.actionbarsherlock.widget.SearchView" />
<item
android:title="@string/date"
android:icon="@drawable/ic_compose"
android:showAsAction="always" >
<menu>
<item
android:id="@+id/menuYesterday"
android:title="Yesterday"/>
<item
android:id="@+id/menuToday"
android:title="Today"/>
<item
android:id="@+id/menuTomorrow"
android:title="Tomorrow"/>
</menu>
</item>
<item
android:id="@+id/action_refresh"
android:icon="@drawable/ic_refresh"
android:showAsAction="always"
android:title="@string/action_refresh" />
</menu>
Спасибо за чтение :)