Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
28 Май 2024
2 мин
1372

Изменение цвета кнопки Floating Action Button в Android

В разработке приложений под Android часто возникает необходимость изменить цвет кнопки Floating Action Button. Однако, выполнить это не всегда бывает просто. Например,

В разработке приложений под Android часто возникает необходимость изменить цвет кнопки Floating Action Button. Однако, выполнить это не всегда бывает просто. Например, кажется логичным попробовать изменить цвет фона кнопки следующим образом:

<android.support.design.widget.FloatingActionButton
    ...
    android:background="@color/mycolor"
/>

Или же с помощью кода:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.my_fab);
fab.setBackgroundColor(Color.parseColor("#mycolor"));

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

Изменение цвета кнопки:

Для изменения цвета кнопки Floating Action Button следует использовать атрибут app:backgroundTint, а не android:background. Таким образом, код будет выглядеть следующим образом:

<android.support.design.widget.FloatingActionButton
    ...
    app:backgroundTint="@color/mycolor"
/>

Для изменения цвета в коде можно использовать метод setBackgroundTintList:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.my_fab);
fab.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#mycolor")));

Добавление эффекта ripple:

Эффект ripple можно добавить с помощью атрибута app:rippleColor. Вот пример его использования:

<android.support.design.widget.FloatingActionButton
    ...
    app:rippleColor="@color/mycolor"
/>

В коде этот эффект можно добавить следующим образом:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.my_fab);
fab.setRippleColor(Color.parseColor("#mycolor"));

В заключение хочется отметить, что Android предоставляет разработчикам гибкие инструменты для настройки внешнего вида элементов пользовательского интерфейса. Главное — знать, как их правильно использовать.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий