0

Ich versuche eine 'Impuls'-Animation anzuwenden, um die Aufmerksamkeit auf Menüelemente in meiner Symbolleiste zu lenken; Ich finde jedoch keine Möglichkeit, die Animation auf das Überlaufsymbol anzuwenden, wenn alle Menüelemente ausgeblendet sind.Android - Animation im Menü Überlaufsymbol

Mit dem Code von this solution kann ich die ActionMenuView abrufen, aber es hat keine Kinder, auf die eine Animation angewendet werden soll.

//amv.getChildCount() returns 0. 

In meinem Fragment

@Override 
public void onPrepareOptionsMenu(Menu menu) { 
    super.onPrepareOptionsMenu(menu); 
    Toolbar toolbar = getToolbar(); 
    for (int i = 0; i < toolbar.getChildCount(); i++) { 
    View view = toolbar.getChildAt(i); 
    if(view.getClass().getSimpleName().equals("ActionMenuView")) { 
     ActionMenuView amv = (ActionMenuView) view; 
     for (int i1 = 0; i1 < amv.getChildCount(); i1++) { 
      amv.getChildAt(i1).startAnimation((AnimationUtils.loadAnimation(getContext(),R.anim.pulse))); 
     } 
    } 
} 

menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:res="http://schemas.android.com/apk/res-auto" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<item 
    android:id="@+id/tutorial" 
    android:title="@string/tutorial" 
    res:showAsAction="never" 
    res:actionLayout="@layout/button_info_white"/> 

<item 
    android:id="@+id/social_filter" 
    android:title="@string/social_filter" 
    res:showAsAction="never" 
    /> 

</menu> 

Vielen Dank für Ihre Unterstützung.

Antwort

1

Da alle Ihre Artikel nicht angezeigt werden, ich glaube, Sie tun können:

@Override 
public void onPrepareOptionsMenu(Menu menu) { 
    super.onPrepareOptionsMenu(menu); 
    Toolbar toolbar = getToolbar(); 
    for (int i = 0; i < toolbar.getChildCount(); i++) { 
     View view = toolbar.getChildAt(i); 
     if (view.getClass().getSimpleName().equals("ActionMenuView")) { 
      view.startAnimation((AnimationUtils.loadAnimation(getContext(),R.anim.pulse))); 
     } 
    } 
} 

ich einen sehr einfachen Test gemacht und es funktioniert gut, wenn alle Elemente auszublenden sind (und Sie hat nur das Überlaufsymbol).

Bitte machen Sie zusätzliche Tests, um zu sehen, ob Sie irgendwelche Nebenwirkungen haben.

+0

Das scheint wirklich gut zu funktionieren, danke! –