XML 中的 backgroundTint 不会改变 BottomActionBar 的颜色,即使使用 min API >= 21
Posted
技术标签:
【中文标题】XML 中的 backgroundTint 不会改变 BottomActionBar 的颜色,即使使用 min API >= 21【英文标题】:backgroundTint in XML does not change color of BottomActionBar, even with min API >= 21 【发布时间】:2020-02-16 10:46:44 【问题描述】:我正在尝试设置一个带有附加 FloatingActionButton 的基本 BottomActionBar。目前,除了酒吧的背景之外,一切似乎都正常。如果我使用android:background="some_background_color"
,则该条将填充所需的颜色。
问题是我希望我的 FAB 被放置,而这种方法似乎与 fabCradleMargin
和 fabCradleRoundedCornerRadius
不兼容,因为修改这些值不会影响背景栏。
所有教程都表明app:backgroundTint="some_background_color"
是要走的路,但我的操作栏不受此影响。我已将我的 API 设置为 >= 21,据我所知,那里没有问题。
我的 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context=".MainActivity">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_
android:layout_
app:layout_constraintBottom_toBottomOf="parent">
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
style="@style/Widget.MaterialComponents.BottomAppBar"
android:layout_
android:layout_
android:layout_gravity="bottom"
app:backgroundTint="@color/colorPrimary"
app:fabAlignmentMode="center"
app:fabAttached="true"
app:fabCradleMargin="10dp"
app:fabCradleRoundedCornerRadius="10dp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_
android:layout_
android:src="@drawable/ic_add_white_24dp"
app:layout_anchor="@+id/bottom_app_bar"
app:layout_anchorGravity="center_horizontal"
app:fabSize="normal"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
backgroundTint 对 bar 没有影响;它仍然是完全白色的。
对不起,如果这是一个基本问题;我对 Android 很陌生,花了很长时间寻找解决方案无济于事。
【问题讨论】:
app:backgroundTint="@color/..."
有效。使用版本 1.1.0-beta01
我正在使用 1.1.0-beta01,而 app:backgroundTint="@color/..."
对我不起作用。
【参考方案1】:
我测试了你的代码
它显示BottomAppBar
的错误,所以我发现此代码app:fabAttached="true"
未定义...
删除它,它将完美地工作。 祝你好运。
【讨论】:
以上是关于XML 中的 backgroundTint 不会改变 BottomActionBar 的颜色,即使使用 min API >= 21的主要内容,如果未能解决你的问题,请参考以下文章
android:backgroundTint 不工作 - Android
错误:(36, 33) 尺寸类型不允许(在“backgroundTint”处,值为“22dp”)
Android改变图片背景颜色tint(着色)或 backgroundTint