从 FloatingActionButton 中移除背景颜色
Remove background colour from FloatingActionButton
我在我的应用程序中使用了几个 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="@android:color/transparent" 和 style : style="?android:attr/borderlessButtonStyle" 的样子喜欢:
寻找周围有阴影的透明圆圈。正是在这里,我无法摆脱阴影,但我希望阴影围绕图像。
尝试以下行:
app:backgroundTint="@null"
我自己找到了解决方案并愿意分享。
所以 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"/>
希望对您有所帮助。
添加这个:
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" />
如果有人遇到此问题,修复非常简单。
android:backgroundTint="@color/transparent"
android:outlineProvider="none"
将 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"/>
将FAB转为浮动图标,需要三个参数:
app:backgroundTint="@android:color/transparent"
删除背景颜色
android:outlineProvider="none"
移除阴影和发光效果
app:borderWidth="0dp"
移除半透明外环
将这三者结合起来,您将得到一个浮动图标,它具有 FAB 的所有优点。
我在我的应用程序中使用了几个 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="@android:color/transparent" 和 style : style="?android:attr/borderlessButtonStyle" 的样子喜欢:
寻找周围有阴影的透明圆圈。正是在这里,我无法摆脱阴影,但我希望阴影围绕图像。
尝试以下行:
app:backgroundTint="@null"
我自己找到了解决方案并愿意分享。
所以 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"/>
希望对您有所帮助。
添加这个:
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" />
如果有人遇到此问题,修复非常简单。
android:backgroundTint="@color/transparent" android:outlineProvider="none"
将 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"/>
将FAB转为浮动图标,需要三个参数:
app:backgroundTint="@android:color/transparent"
删除背景颜色
android:outlineProvider="none"
移除阴影和发光效果
app:borderWidth="0dp"
移除半透明外环
将这三者结合起来,您将得到一个浮动图标,它具有 FAB 的所有优点。