我正在创建一个 Android 应用程序,我正在使用 AndroidX 库和材料设计主题。我在 styles.xml
的应用主题是:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
我有以下 FAB 从一个自定义图书馆:
<com.leinardi.android.speeddial.SpeedDialView
android:id="@+id/work_log_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
app:layout_behavior="@string/speeddial_scrolling_view_snackbar_behavior"
app:sdMainFabClosedSrc="@drawable/ic_add_white_24dp"
app:sdOverlayLayout="@id/overlay" />
还尝试了默认的 FAB:
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:src="@drawable/ic_add_white_24dp"
android:layout_margin="16dp" />
无论图标的颜色(矢量可绘制) ,FAB 中的图标(来自库和默认)总是黑色的。我已经缩小了问题的材料设计主题,因为使用旧的 Theme.AppCompat.Light.DarkActionBar
而不是新的 Theme.MaterialComponents.Light.DarkActionBar
图标内的 FAB 获得原矢量绘制的颜色。
有人知道为什么会发生这种事,以及如何解决吗?