android - 如何防止我的 snackbar 文本在 Android 上被截断?

标签 android android-snackbar

我正在显示一个带有相当长文本消息的 snackbar ,并且在手机上以纵向模式显示它看起来不错。

Phone Portrait mode

但在平板电脑上它似乎只允许 1 行文本,所以它被省略了

Tablet Landscape mode

无论如何我可以让它在平板电脑领域成为 2 行吗?

最佳答案

重要且未在其他答案中说明的是您需要使用 Snackbar 的 View

所以:

Snackbar snackbar = Snackbar.make(rootView, R.string.message, Snackbar.LENGTH_LONG);
View snackbarView = snackbar.getView();
TextView snackTextView = (TextView) snackbarView.findViewById(com.google.android.material.R.id.snackbar_text);

snackTextView.setMaxLines(2);
snackbar.show();

注意:这也可能对屏幕密度较低的设备有所帮助。

P.S 如果您没有使用 AndroidX(推荐),并且仍在使用旧版支持库,请使用 android.support.design.R.id.snackbar_text 而不是 com.google.android.material.R.id.snackbar_text 用于获取 Snackbar 的内部 TextView。

关于android - 如何防止我的 snackbar 文本在 Android 上被截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32228300/

相关文章:

Android::PackageStats.codeSize 表示什么?

java - 带圆角的 Android NavigationView

java - 更改 Snackbar 的字体

android - 无法在 Android 中发送辅助功能事件

Android Places Autocomplete 设置经纬度范围

android - 无法从 FTDI 串行 I2C 读取字节到 Android Eclipse Java 应用程序

android - 更新 targetSDK 到 28 后,Snackbar 报错?

android - Snackbar 不会在滑动时关闭

android - Snackbar 在按下操作按钮时隐藏 float 操作

Android Youtube API 在按下后退按钮时退出全屏