Измените цвет фона значков панели действий меню на круг непрозрачности программно (не всю панель инструментов) - PullRequest
0 голосов
/ 08 октября 2018

Я хочу изменить цвет фона панели действий / значков меню на круг непрозрачности (НЕ цвет всей панели действий).

У меня есть прозрачная панель действий, а иногда значки блекнутс фоновым рисунком (белая стрелка слева и 3 точки справа):

enter image description here

Вот код:

 Drawable navIcon = toolbar.getNavigationIcon();
 assert navIcon != null;

 Drawable actionMenuIcon = menu.findItem(R.id.action_view_action_menu).getIcon();
 assert actionMenuIcon != null;

Когда пользователь прокручивает, появляется верхняя полоса и изменяется цвет самого значка.Но я хочу программно поместить фоновый круг за иконки, чтобы они не исчезали с прозрачным фоном.Вот код для изменения цвета значка на свитке:

    ValueAnimator iconAnimation = ValueAnimator.ofArgb(fromColor, toColor);
    iconAnimation.setDuration(getResources().getInteger(android.R.integer.config_shortAnimTime));
    iconAnimation.addUpdateListener(animator -> {
        navIcon.setColorFilter((Integer) animator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
        actionMenuIcon.setColorFilter((Integer) animator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
    });
    iconAnimation.start();

Может ли кто-нибудь помочь программным способом установить фоновый круг за значками, чтобы они не исчезали на картинке?

1 Ответ

0 голосов
/ 08 октября 2018

попробуйте использовать drawable xml со слоями / списком состояний.и / или создать / изменить волновой эффект

...