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();
自 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();