android - 如何通过xml设置具有透明度的浮动操作按钮的边框和背景颜色?
问题描述
我已经尝试过这个解决方案:https ://stackoverflow.com/a/54074154/10299002 只要 FAB 位于深色背景上,它就可以很好地工作。但是,当它越过白色背景时,它似乎会破裂。可能是什么问题?
这是我的FAB:
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:theme = "?appAccentStyle"
android:id="@+id/button_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_margin="16dp"
app:backgroundTint="?colorFloatingActionButtonBorder"
android:src="@drawable/ic_arrow_downward_24dp"
android:tint="?colorAccent"
android:backgroundTint="?colorFloatingActionButtonBackground"
tools:visibility="visible"
android:layout_gravity="end|bottom" />
这是正在应用的样式:
<style name="LimeColorAccent">
<item name="colorAccent">@color/Lime</item>
<item name="appAccentStyle">@style/LimeColorAccent</item>
<item name="colorFloatingActionButtonBorder">@color/LimeTranslucentBorder</item>
<item name="colorFloatingActionButtonBackground">@color/LimeTranslucent</item>
</style>
以下是使用的颜色:
<color name="Lime">#FFCDDC39</color>
<color name="LimeTranslucentBorder">#4cCDDC39</color>
<color name="LimeTranslucent">#26CDDC39</color>
输出:
编辑:
尝试了这个解决方案:https ://stackoverflow.com/a/57307389/10299002
我的 fab.xml:(与解决方案中的相同)
我的浮动操作按钮:
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/button_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_downward_24dp"
android:background="@drawable/fab"
android:layout_margin="16dp"
android:layout_gravity="end|bottom"
app:fabSize="normal"
app:backgroundTint="#55990000"
app:borderWidth="0dp"
app:elevation="2dp"
tools:visibility="visible" />
输出:(内圈仍然破碎)
解决方案
我使用了您的代码并直接使用了颜色。并找到了黑色背景和白色背景的两个结果。
和代码:
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/button_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
android:layout_margin="16dp"
app:backgroundTint="#4cCDDC39"
android:src="@drawable/ic_action_profile"
android:tint="@color/colorAccent"
app:borderWidth="2dp"
android:backgroundTint="#26CDDC39"
tools:visibility="visible"
android:layout_gravity="end|bottom" />
推荐阅读
- firebase - 如何使用 Cloud Firestore 从 Flutter 中的数据快照中获取特定值?
- python - 如何使用 pandas 'apply' 方法在数据帧的特定子集上应用函数?
- python-2.7 - 必须在与消息泵相同的线程上注册 Windows 挂钩吗?
- asp.net - 如何在我的网站上找到重定向发生的位置
- makefile - 为什么makefile没有将输出文件保存到不同的目录?
- excel - 在 PowerPoint 中查找文本并替换为 Excel 中单元格中的文本
- asp.net - 在运行时从后面的代码将项目添加到 DropDownList
- swift - 在 iOS 的 sqlite 中保存时间戳
- javascript - 查找整数并附加 .00 小数
- asterisk - 根据客户响应呼叫 STT