【问题标题】:Android - Animation on Menu Overflow IconAndroid - 菜单溢出图标上的动画
【发布时间】:2016-07-15 01:45:33
【问题描述】:

我正在尝试应用“脉冲”动画来引起对工具栏中菜单项的注意;但是,如果所有菜单项都被隐藏,我找不到将动画应用于溢出图标的方法。

使用this solution 中的代码,我可以获得ActionMenuView,但它没有任何子项可以应用动画。

//amv.getChildCount() returns 0.

在我的片段中

@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>

感谢您的帮助。

【问题讨论】:

    标签: android animation android-support-library android-toolbar


    【解决方案1】:

    由于您的所有项目都没有显示,我认为您可以这样做:

    @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)));
            }
        }
    }
    

    我做了一个非常基本的测试,当所有项目都隐藏时它工作正常(并且你只有溢出图标)。

    请进行额外的测试,看看您是否没有任何副作用。

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 2014-08-21
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多