从FloatingActionButton中删除背景颜色

时间:2017-12-22 02:22:17

标签: android floating-action-button

我在我的应用程序中使用了几个FloatingActionButton:

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/loc_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_marginBottom="123dp"
        android:layout_marginEnd="@dimen/mini_fab_margin"
        android:src="@drawable/plus"
        app:backgroundTint="@android:color/black"
        app:elevation="2dp"
        app:fabSize="mini"/>

其中plus.png是一个带有透明背景的小图片。

我知道默认的FloatingActionButton会在colors.xml中选择你的应用程序集的colorPrimary

我知道我们可以通过标签改变颜色:

    app:backgroundTint="@android:color/black"

但我们可以删除颜色吗?我的意思是我们可以在FloatingActionButton中使用背景颜色的图像,

我尝试使用

    app:backgroundTint="@android:color/transparent"

但它仍会在图像周围显示黑色阴影。我们如何删除它并显示没有任何背景的图像。 ?

这就是app:backgroundTint =&#34; @android:color / transparent&#34;和style:style =&#34;?android:attr / borderlessButtonStyle&#34;使它看起来像:

currently doesn’t support that very well

因阴影而寻找透明圆圈。在这里,我无法摆脱阴影,但我希望阴影在图像周围。

6 个答案:

答案 0 :(得分:7)

我自己找到了解决方案并希望分享相同的内容。

所以FloatingActionButton有三种尺寸:普通和迷你以及自动。

但是如果我们想要在没有背景的FloatingActionButton中出现较小尺寸的图像,我们需要删除以下内容:

  • 删除app:backgroundTint以使FloatingActionButton透明。
  • 删除app:rippleColor以消除涟漪效应,并使阴影出现在我们较小的图像周围,而不是在FloatingActionButton周围(错误效果显示在相关图像中)。

所以最终的FloatingActionButton如下所示:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/center_small"
    app:rippleColor="@null"
    app:backgroundTint="@null"
    app:fabSize="mini"/>

我希望它有所帮助。

答案 1 :(得分:3)

如果有人遇到此问题,修复将非常简单。

android:backgroundTint =“ @ color / transparent” android:outlineProvider =“ none”

答案 2 :(得分:2)

尝试以下行:

 app:backgroundTint="@null"

答案 3 :(得分:1)

添加此内容:

android:elevation="0dp" 
app:elevation="0dp"

就像

 <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="@dimen/cart_amount_height"
            android:layout_height="@dimen/cart_amount_height"
            android:layout_gravity="bottom|end"
            android:layout_margin="40dp"
            android:background="@null"
            app:backgroundTint="@android:color/transparent"
            android:elevation="0dp"
            app:elevation="0dp"
            android:src="@drawable/your_icon" />

答案 4 :(得分:0)

这是答案

android:background="@android:color/transparent"

然后也添加这个按钮:

style="?android:attr/borderlessButtonStyle" 

答案 5 :(得分:0)

将android:outlineProvider设置为none并将app:backgroundTint设置为null可以帮助实现这一目标。

一天结束时,整个情况看起来应该是这样

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="40dp"
    android:background="@null"
    android:outlineProvider="none" 
    app:backgroundTint="@android:color/transparent"
    android:src="@drawable/your_icon"/>