1

我有一个 ActionBar 图标,它是一个聊天消息屏幕的按钮。我有两个图标副本。一种标准灰色,一种黄色。

当我显示黄色图标表示有消息等待时,我希望它缓慢闪烁。

这可以通过操作栏图标实现吗?

4

2 回答 2

1

您可以尝试使用 MenuItem 的setIcon方法。由于它需要一个 Drawable,因此您可以使用AnimationDrawable来实现慢闪效果。

于 2013-03-10T11:04:18.507 回答
1

我可能以一种狡猾的方式做到了这一点,因为我对 Android 还是很陌生,但也许它会帮助某人/某人会纠正我。

我有一个 500 毫秒的计时器,它定期执行运行“invalidateOptionsMenu();” 这将导致菜单被重绘,一旦发生这种情况,您只需在里面隐藏/显示您的图标,下面我正在闪烁一个“无信号”图标。只需将您的计时器设置为您想要的任何闪光时间。

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.menu, menu);

    if(!AppStates.InternetAvailable || !AppStates.ServerContactable)
    {
        if(!NoSignalFlashState) NoSignalFlashState=true;
        else NoSignalFlashState=false;
        menu.findItem(R.id.ActionNoSignal).setVisible(NoSignalFlashState);
    }
    else menu.findItem(R.id.ActionNoSignal).setVisible(false);

   super.onCreateOptionsMenu(menu);

    return true;
}
于 2018-03-08T03:14:41.250 回答