当前位置: 首页 > 面试题库 >

Android更改浮动操作按钮颜色

郭坚壁
2023-03-14
问题内容

我一直在尝试更改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" />


 类似资料:
  • 我 https://github.com/futuresimple/android-floating-action-button 使用了这个库。如何更改主按钮的图像?我想在选择其中一个较小的按钮后立即更改按钮图像。

  • 我一直试图改变材质的浮动动作按钮颜色,但没有成功。 我曾试图补充: 或通过代码: 或 但上述方法都不奏效。我也试过提出的重复问题中的解决方案,但都行不通;按钮保持绿色,也变成了正方形。 附注。如果知道如何添加涟漪效果也会很好,也不能理解。

  • Floating Action Button is supported only in Material Theme Floating action buttons are used for a promoted action. They are distinguished by a circled icon floating above the UI and have motion behavi

  • 问题内容: Google是否已经为该新的圆形FAB按钮发布了已定义的样式或组件,还是我应该自己实施设计? 该按钮的说明如下:Google设计| 浮动动作按钮 问题答案: 更新 :现在有一个供FAB使用的官方小部件:FloatingActionButton,有关完整信息,请参阅Gabriele Mariotti的回复。 根据Adam Powell和Chet Haase的说法,他们没有为FAB按钮创建

  • 我想在我的应用程序中应用不同的主题。我想更改导航栏和浮动操作按钮的颜色。 现在我可以更改导航栏的颜色,但浮动操作按钮的颜色没有变化。当主题更改时,如何动态更改工厂的颜色? 风格: 绝妙的: 晶圆厂选择器: 谢谢你...

  • 这不起作用。如何改变浮动动作按钮的背景颜色