Android studio floatingactionbutton color

Android изменение цвета кнопки плавающего действия

часами пытался изменить цвет кнопки плавающего действия материала, но безуспешно.

Я пытался добавить

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

Я хотел бы получить подробный ответ, спасибо.

П. С. было бы неплохо также знать, как добавить эффект пульсации, не могла понять что либо.

18 ответов

как описано в документация по умолчанию он принимает цвет в стили.в XML атрибут colorAccent.

цвет фона этого представления по умолчанию соответствует colorAccent вашей темы. Если вы хотите изменить это во время выполнения, вы можете сделать это через setBackgroundTintList(ColorStateList).

Если вы хотите изменить цвет

  • в XML с атрибутом app:backgroundTint
  • в коде .setBackgroundTintList (ответ ниже ywwynm)

Как @Dantalian писал в комментариях, если вы хотите изменить цвет, вы можете использовать

Vijet Badigannavar ответ правильный, но с помощью ColorStateList обычно сложнее и он не сказал нам, как это делать. Так как мы часто фокусируемся на изменении View цвет в нормальном и нажатом состоянии, я собираюсь добавить более подробную информацию:

если вы хотите изменить FAB цвет в нормальном состоянии, вы можете просто написать

если вы хотите изменить FAB цвет в отжатом положении, спасибо для библиотеки поддержки дизайна 22.2.1, вы можете просто написать

установив этот атрибут, при длительном нажатии кнопки FAB , рябь с вашим цветом появится в вашей точке касания и раскроется на всю поверхность FAB . Пожалуйста, обратите внимание, что это не изменит FAB цвет в нормальном состоянии. Ниже API 21 (Lollipop) нет эффекта пульсации, но FAB ‘S цвет будет по-прежнему меняться, когда вы нажимаете его.

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

Читайте также:  Андроид для настольного компьютера

обновление: Спасибо за комментарий @Kaitlyn. Чтобы удалить ход FAB, используя backgroundTint в качестве цвета, вы можете установить app:borderWidth=»0dp» в вашем xml.

As Василь Валча отметил в комментарии это проще, чем кажется, но есть тонкая разница, которую я не замечал в своем XML.

обратите внимание, что это:

и не

Если вы пытаетесь изменить цвет FAB с помощью приложения, есть некоторые проблемы. рамка кнопки имеет разный цвет, так что вы должны сделать:

Источник

Why is my FloatingActionButton icon black? [duplicate]

Following is the code I’m using. I’m using androidx. Every FAB has a black icon, even if it has a white color.

6 Answers 6

If you’re using AndroidX, to change the color of the icon you must use app:tint opposed to android:tint

I have an icon(vector) with multiple colors(attached file) but I cannot use app:tint=»@color/white» because my icon’s color turns to single color such as white and I did not need this.

So I Fixed my problem with set setting app:tint to null:

The FloatingActionButton class from AndroidX uses the colorOnSecondary theme attribute to tint its icon.

If you follow the MaterialComponents theme definitions down into the base definitions, you’ll see that the default value for colorOnSecondary is design_default_color_on_secondary . and that is defined as #000000 .

You can fix this by either adding the app:tint attribute directly to your FloatingActionButton or by re-defining @color/colorOnSecondary in your theme to be whatever you want.

Источник

Как изменить цвет иконки на кнопке FloatingActionButton?

Для нее в colors.xml прописано

Выглядит так:

Как сделать, что бы карандашик был белым?

2 ответа 2

В коде просто пропишите:

Результат:

Другой фильтр fab.setColorFilter(Color.argb(255, 0, 0, 0)); , ресурс тот же.

Результат:

Данная иконка устанавливается атрибутом android:src . Изменить цвет Вы ей не сможете. Надо лишь установить новую картинку. Могу посоветовать отличный плагин, который содержит в себе полный пакет иконок. Скачать можно отсюда

Потом как подрубите его, жмите правой кнопкой по любому пэкэйджу, выбираете new->Material design icon. После чего откроется окошко, в названии вбиваете edit(чтобы выбрать иконку карандаша), студия вам предложит варианты изображений, выбираем то которое нам подходит, цвет, размер, жмем «ОК». В наши папки drawable упадут нарезанные иконки. Далее в FAB заполняете атрибут android:src путем к иконке и видим профит=)

Читайте также:  Лучший пиар код для андроид

Всё ещё ищете ответ? Посмотрите другие вопросы с метками android material-design или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.3.40888

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Android changing Floating Action Button color

I have been trying to change Material’s Floating Action Button color, but without success.

I have tried to add:

But none of the above worked. I have also tried the solutions in the proposed duplicate question, but none of them works; the button remained green and also became a square.

P.S. It would be also nice to know how to add ripple effect, couldn’t understand that either.

25 Answers 25

As described in the documentation, by default it takes the color set in styles.xml attribute colorAccent.

The background color of this view defaults to the your theme’s colorAccent. If you wish to change this at runtime then you can do so via setBackgroundTintList(ColorStateList).

If you wish to change the color

  • in XML with attribute app:backgroundTint
  • in code with .setBackgroundTintList (answer below by ywwynm)

As @Dantalian mentioned in the comments, if you wish to change the icon color for Design Support Library up to v22 (inclusive), you can use

For Design Support Library since v23 for you can use:

Also with androidX libraries you need to set a 0dp border in your xml layout:

Vijet Badigannavar’s answer is correct but using ColorStateList is usually complicated and he didn’t tell us how to do it. Since we often focus on changing View ‘s color in normal and pressed state, I’m going to add more details:

If you want to change FAB ‘s color in normal state, you can just write

If you want to change FAB ‘s color in pressed state, thanks for Design Support Library 22.2.1, you can just write

By setting this attribute, when you long-pressed the FAB , a ripple with your color will appear at your touch point and reveal into whole surface of FAB . Please notice that it won’t change FAB ‘s color in normal state. Below API 21(Lollipop), there is no ripple effect but FAB ‘s color will still change when you’re pressing it.

Читайте также:  Почему у меня виснет андроид

Finally, if you want to implement more complex effect for states, then you should dig deeply into ColorStateList , here is a SO question discussing it: How do I create ColorStateList programmatically?.

UPDATE: Thanks for @Kaitlyn’s comment. To remove stroke of FAB using backgroundTint as its color, you can set app:borderWidth=»0dp» in your xml.

Источник

Добавляем Floating Action Button в свое Android приложение

В этом году на презентации Google I/O был представлен новая версия Android — L. Вместе с этим было представлено много новых плюшек для пользователей и разработчиков. Но одним из главных новшеств, несомненно, было новое решение Google для унификации дизайна — Material Design.

Одним из паттернов Material Design является Floating Action Button.

Что такое Floating Action Button ?

Google говорит, что это «специальный метод для способствования действию». Сама же кнопка имеет форму круга, плавающего над интерфейсом.

Стоит отметить, что Floating Action Button должна отражать только главное действие в приложении.

Быстрая и грязная реализация

Я хотел создать быстрый способ добавления простейшей FAB для своих Android приложений с minSdkVersion = 14 (Ice Cream Sandwich). Я также реализовал анимацию появления/исчезновения и небольшие возможности для кастомизации кнопки.

Весь код доступен в Github Gist (добавьте этот класс в свой проект).

При создании кнопки в XML, я обнаружил некоторые трудности позиционирования View у нашей кнопки над остальными View (в частности, над Navigation Drawer). Я решил реализовать кнопку программно и работать посредством Builder-паттерна, что позволит размещать FAB выше других View в Activity при вызове .create().

Отлично! Но как мне добавить это в свое приложение ?

Добавить Floating Action Button очень даже просто:

Размер кнопки легко изменить посредством вызова .withButtonSize(int size). По умолчанию стоит 72dp.

Заключение

Похоже, что Google будет использовать этот паттерн во многих своих приложениях. И еще до сих пор нет никаких новостей о том, будет ли Google добавлять floating action button в support library, поэтому пока что не стесняйтесь использовать это решение.

Источник

Оцените статью