Ich wechselte von ActionBarSherlock zu ActionBarCompat (Support-Bibliothek v7). Nach einigen Anpassungen funktioniert mittlerweile fast alles.SearchView nimmt den gesamten Platz in der neuen ActionBarCompat
Aber ich habe Probleme mit der SearchView in der ActionBar. Wenn es erweitert wird (eigentlich wird es immer in meiner Aktivität erweitert), nimmt es den gesamten Platz ein und respektiert nicht den Platz von anderen Aktionselementen, die so eingestellt sind, dass sie immer angezeigt werden (showAsAction = "immer").
das Problem zu simulieren, verwenden Sie diese:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_buscar"
app:actionViewClass="android.support.v7.widget.SearchView"
android:icon="@drawable/abc_ic_search"
app:showAsAction="always"
android:title="@string/buscar"/>
<item android:id="@+id/tentar_novamente"
android:title="@string/tentar_novamente"
android:icon="@drawable/acao_tentar_novamente"
app:showAsAction="always" />
</menu>
In der Aktivität:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.busca_action_menu, menu);
searchMenuItem = menu.findItem(R.id.menu_buscar);
searchView = (SearchView) MenuItemCompat.getActionView(searchMenuItem);
searchView.setIconifiedByDefault(false);
searchView.setQueryHint(stringBusqueArtistasMusicasEAlbuns);
return super.onCreateOptionsMenu(menu);
}
Dies ist das Ergebnis in der Android 4.3:
Und das ist das Ergebnis in der Android 2.3 (die Aktion Elemente erscheint nicht einmal):
Das gleiche Problem tritt auf, wenn ich benutze:
setSupportProgressBarIndeterminateVisibility(true);
Die Fortschrittsanzeige in der Android 4.3 sehr seltsam erscheint und erscheint nicht in Android 2.3.
Derselbe Code funktionierte wie erwartet mit ActionBarSherlock. Wenn ein Aktionselement vorhanden war, wurde die Breite des SearchView verringert, um Platz für die Aktionselemente zu schaffen.
UPDATE:
ich ein Problem in den Bug Tracker Android geschrieben haben: https://code.google.com/p/android/issues/detail?id=58251&thanks=58251&ts=1375191632
Wenn Sie das gleiche Problem haben, folgen Sie bitte dem Thema.
UPDATE:
Ich habe versucht, die Aktionselemente vor dem Search und auf diese Weise sie Elemente erscheinen zu setzen.
Aber die setSupportProgressBarIndeterminateVisibility (true) zeigt nach wie vor nicht den Fortschrittsbalken.
Alter, Entschuldigung für eine Grammatik Nazi, aber es ist "Álbumes" –
@LuisLavieri, Es ist nicht Spanisch, es ist Portugiesisch. –
Mein schlechtes! Wow, es ist so ähnlich. –