本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,java大神匠心打造,零基础java开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Android更改浮动操作按钮颜色

发布于2020-11-14 11:53     阅读(634)     评论(0)     点赞(15)     收藏(5)


我一直在尝试更改Material的“浮动操作按钮”的颜色,但没有成功。

<android.support.design.widget.FloatingActionButton
    android:id="@+id/profile_edit_fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="16dp"
    android:clickable="true"
    android:src="@drawable/ic_mode_edit_white_24dp" />

我尝试添加:

android:background="@color/mycolor"

或通过代码:

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

要么

fab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#mycolor")));

但以上方法均无效。我也尝试过提出的重复问题中的解决方案,但是没有一个起作用。该按钮保持绿色,并且也变成了正方形。

PS知道如何添加波纹效果也很高兴,也无法理解。


解决方案


文档中所述,默认情况下,它采用在styles.xml属性colorAccent中设置的颜色

该视图的背景色默认为主题的colorAccent。如果希望在运行时更改此设置,则可以通过setBackgroundTintList(ColorStateList)进行更改。

如果您想改变颜色

  • 在XML中具有属性app:backgroundTint
<android.support.design.widget.FloatingActionButton
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    app:backgroundTint="@color/orange"
    app:borderWidth="0dp"
    app:elevation="6dp"
    app:fabSize="normal" >
  • 在带有.setBackgroundTintList的代码中(下面是ywwynm的答案

如评论中的@Dantalian所述,如果您希望将Design Support Library的图标颜色更改为v22(含)以下,则可以使用

android:tint="@color/white"     

对于v23以后的设计支持库,您可以使用:

app:tint="@color/white"   

同样对于androidX库,您需要在xml布局中设置0dp边框:

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_add"
    app:backgroundTint="@color/orange"
    app:borderWidth="0dp"
    app:elevation="6dp"
    app:fabSize="normal" />


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/756/e210df683a6dfe4b14d1/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

15 0
收藏该文
已收藏

评论内容:(最多支持255个字符)