zur Seite, wenn die SucheSymbol in Toolbarklicken, es erscheint sofort auf der anderen Seite (gilt auch für die Suche Cancelling). Ist es möglich, animieren seine Bewegung? Wenn ja, wie?Android - Search Symbol in der Toolbar von Seite animieren
Antwort
HINWEIS: Dies ist die gleiche Antwort wie Android: animate searchview.
Es gibt einen einfacheren Ansatz (in der Tat, nur zwei weitere Zeilen Code) und es ist fehlerfrei. Sie müssen Ihre SearchView in der onCreateOptionsMenu() -Methode füllen, wie Sie es vorher getan hätten, aber die Codezeilen vermeiden, in denen Sie den Übergang festgelegt haben, da sie nicht mehr benötigt werden.
Als nächstes außer Kraft setzen onOptionsItemSelected() wie folgt aus:
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
switch(item.getItemId()) {
case R.id.action_search:
TransitionManager.beginDelayedTransition((ViewGroup) getActivity().findViewById(R.id.toolbar));
MenuItemCompat.expandActionView(item);
return true;
}
return super.onOptionsItemSelected(item);
}
Dieser Code erstellt einen Übergang und wartet auf Änderungen in der Symbolleiste Layout. Wenn SearchView angezeigt wird, startet die Animation. Es verwendet dieselbe API wie KitKat, ist aber ab ICS verfügbar. In Ihrem build.gradle:
compile 'com.android.support:transition:24.2.1'
können Sie auch customize the transition wenn Sie nicht wie der Standard ein. Es gibt viele Übergänge zur Verfügung und einige, die Ihre Bedürfnisse für sicher
Ich habe eine Bibliothek nur dafür geschaffen. Wenn das ist, was Sie suchen:
Überprüfen Sie meine Bibliothek auf https://github.com/UdiOshi85/libSearchToolbar