Измените цвет нижней строки с синего на что-нибудь в режиме действия.

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

<item name="android:actionmodebackground">@color/orange</item>

но он меняет весь фон на оранжевый, но я просто хочу изменить цвет нижней строки. Является ли это возможным? Любая ссылка или фрагмент кода будут оценены.


person Arslan Ali    schedule 17.06.2016    source источник


Ответы (3)


Попробуйте эту функцию:

public static void tintView(View view, int color) {
    final Drawable d = view.getBackground();
    final Drawable nd = d.getConstantState().newDrawable();
    nd.setColorFilter(AppCompatDrawableManager.getPorterDuffColorFilter(
        color, PorterDuff.Mode.SRC_IN));
    view.setBackground(nd);
}
person BOUTERBIAT Oualid    schedule 17.06.2016

Это сработало для меня:

<item name="android:actionModeBackground">@android:color/white</item>
person Robert Londo    schedule 17.02.2017

Вы пробовали с?

<item name="android:backgroundSplit">@color/orange</item>
person Knightkiller81    schedule 17.06.2016