【发布时间】:2019-04-21 06:44:20
【问题描述】:
我正在创建一个 Android 应用,并且正在使用 AndroidX 库和 Material design 主题。我在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 内的图标获得了原始矢量可绘制对象的颜色。
有谁知道为什么会发生这种情况以及如何解决?
【问题讨论】:
-
图标的颜色定义为什么?它是像
?attr/colorControlNormal这样的主题属性还是像#ffaacc或@color/orange这样的定义颜色? -
图标颜色定义为
#FFF
标签: android material-design android-theme floating-action-button androidx