Android Material Snackbar 旧式

Android Material Snackbar Old Style

自 Android Studio 4.1 以来,Snackbar 采用了新样式(来自内置 Material 库):

不过我还是比较喜欢老款:

如何实现?我在互联网上搜索过,但仍然找不到答案。

Snackbars can span the entire width of the screen only when a UI does not use persistent navigation components like app bars or bottom navigation bars. Snackbars that span the entire width of a UI can push only FABs up when they appear.

由于我没有您的代码,您可以尝试通过在 styles.xml 或 themes.xml:

中的 AppTheme 中添加此行来设置 Snackbar 的样式
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar.FullWidth</item>

或者以编程方式你可以试试这个:

// Create the Snackbar
Snackbar snackbar = Snackbar.make(containerLayout, "", Snackbar.LENGTH_LONG);
// Get the Snackbar's layout view
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
//If the view is not covering the whole snackbar layout, add this line
layout.setPadding(0,0,0,0);
// Show the Snackbar
snackbar.show();