Android 多行 Snackbar

新手上路,请多包涵

我正在尝试利用 Android 设计支持库中的新 Snackbar 来显示多行小吃店,如 http://www.google.com/design/spec/components/snackbars-toasts.html#snackbars 所示 -吐司规格

 import android.support.design.widget.Snackbar;

final String snack = "First line\nSecond line\nThird line";
Snackbar.make(mView, snack, Snackbar.LENGTH_LONG).show();

它只显示 First line... 在我的 Nexus 7 上。如何让它显示所有行?

PS:我试过 Toast 它显示了所有行。

原文由 Dima Kornilov 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 789
2 个回答

只需设置 Snackbars Textview 的 maxLines 属性

View snackbarView = snackbar.getView();
TextView textView = (TextView) snackbarView.findViewById(android.support.design.R.id.snackbar_text);
textView.setMaxLines(5);  // show multiple line

如果您正在使用更新的 "com.google.android.material:material:1.0.0" 依赖项,那么您将使用这个: com.google.android.material.R.id.snackbar_text 来访问 Snackbar 的 TextView。

您甚至可以使用 R.id.snackbar_text 。这对我有用。

原文由 Nilesh Senta 发布,翻译遵循 CC BY-SA 4.0 许可协议

可以覆盖应用程序的 values.xml 中使用的预定义值

<integer name="design_snackbar_text_max_lines">5</integer>

Snackbar 默认使用这个值。

原文由 akd005 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题