我正在尝试显示一个SnackBar,但它(以y为单位)比预期的大。
我尝试在样式上设置填充和边距,但这只是改变了左侧和右侧的填充。
作为一种绝望的方式,我有这个:
<item name="snackbarStyle">@style/Snackbar</item>
<item name="snackbarTextViewStyle">@style/Snackbar.TextView</item>
<style name="Snackbar" parent="@style/Widget.MaterialComponents.Snackbar.FullWidth">
<item name="backgroundTint">@color/lh_slate_opacity_90</item>
<item name="android:paddingEnd">0dp</item>
<item name="android:paddingStart">0dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:layout_marginTop">0dp</item>
<item name="android:layout_marginLeft">0dp</item>
<item name="android:layout_marginRight">0dp</item>
<item name="android:layout_marginBottom">0dp</item>
</style>
<style name="Snackbar.TextView" parent="@style/Widget.MaterialComponents.Snackbar.TextView">
<item name="android:fontFamily">@font/poppins</item>
<item name="android:textSize">12sp</item>
<item name="android:paddingEnd">0dp</item>
<item name="android:paddingStart">0dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:layout_marginTop">0dp</item>
<item name="android:layout_marginLeft">0dp</item>
<item name="android:layout_marginRight">0dp</item>
<item name="android:layout_marginBottom">0dp</item>
</style>
我得到相同的行为:
com.google.android.material:material:1.2.0-alpha05
com.google.android.material:material:1.1.0
它会更改背景颜色和字体系列,但不会更改小吃栏的顶部和底部填充。
答案 0 :(得分:2)
没有官方的API,但是您可以在dimens.xml
<dimen name="design_snackbar_padding_vertical" tools:override="true">5dp</dimen>
在这里您可以找到可以用相同方法覆盖的所有尺寸 https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/snackbar/res/values/dimens.xml