BottomAppBar backgrounTint 与父级不正确匹配并显示在屏幕的一半
Posted
技术标签:
【中文标题】BottomAppBar backgrounTint 与父级不正确匹配并显示在屏幕的一半【英文标题】:BottomAppBar backgrounTint is not correctly match to parent and showing in half of screen 【发布时间】:2019-12-29 08:13:27 【问题描述】:我尝试了我的布局代码,但 BottomAppBar 没有完美显示我到处搜索,但没有发现任何问题。
我在 android Studio 3.4 上试过这个,我的 gradle 依赖项是
dependencies
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.google.android.material:material:1.0.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-beta01'
implementation 'androidx.vectordrawable:vectordrawable:1.0.0-beta01'
implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.squareup.picasso:picasso:2.71828'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
我在 home_bottomappbar.xml 中使用的代码
<androidx.coordinatorlayout.widget.CoordinatorLayout
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_>
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
android:layout_
android:layout_
android:layout_gravity="bottom"
app:backgroundTint="@color/colorPrimaryDark"
app:fabAlignmentMode="center"
app:fabAttached="true"
app:fabCradleDiameter="0dp"
app:fabCradleVerticalOffset="10dp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_
android:layout_
app:layout_anchor="@id/bottom_app_bar"
app:backgroundTint="@color/colorPrimary"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
【问题讨论】:
如果有渲染问题,您可以添加截图,这将有助于协作者在不阅读整个帖子的情况下理解问题。 感谢您的回答,我已添加截图链接。请检查一下 【参考方案1】:将Coordinator
布局替换为Relative
或Liner
布局。它会正常工作的。
【讨论】:
LinearLayout 或 Rellative 也不起作用。我不知道为什么该代码在这个项目中不起作用。它在我的其他项目中完美运行 避免在嵌套布局中使用coordinator
布局,您的coordinator
布局应该是父/根布局并设置布局锚点。【参考方案2】:
我也遇到过同样的问题
解决方案是将BottomAppBar的width改为fill_parent,现在应该可以正常工作了:)
【讨论】:
以上是关于BottomAppBar backgrounTint 与父级不正确匹配并显示在屏幕的一半的主要内容,如果未能解决你的问题,请参考以下文章
如何将 BottomAppBar + FAB 与 BottomNavigationView 结合使用
BottomAppBar 和 FloatingActionButton 应用程序:layout_scrollFlags 行为