gpt4 book ai didi

android - 如果文本很长,如何使 snackbar 操作按钮显示在不同的行中?

转载 作者:搜寻专家 更新时间:2023-11-01 09:22:04 25 4
gpt4 key购买 nike

我正在使用支持库版本 28.0.0 中的 Material Design 组件。

我想显示一个 snackbar ,当操作按钮内的文本太长时,它会显示在与 snackbar 消息不同的行中。

按照这些组件的 Material design 文档,似乎可以使用此处所示的默认 snackbar :

https://material.io/design/components/snackbars.html#implementation

但是使用这段代码:

var snackbar:Snackbar = Snackbar.make(root, message, Snackbar.LENGTH_SHORT)
snackbar.setAction(action, View.OnClickListener { })
snackbar.show()

如果操作文本很长,它不会移动到下一行。

根布局是一个 CoordinatorLayout。

所以我不知道我在 snackbar 里缺少什么来让它工作。

谢谢!

最佳答案

问题实际上是 android 本身的问题,从默认 android dimen 文件加载的属性已损坏,因此用于计算 snackbar 元素方向的必需属性从未设置为正确的值。问题已告知,解决方案将尽快推送至源码。

解决方法:直接在您的主主题中设置属性 maxActionInlineWidth,您可以从 @dimen/design_snackbar_action_inline_max_width 中获取值,这是 android 应该使用的值。

例子:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="maxActionInlineWidth">@dimen/design_snackbar_action_inline_max_width</item>
</style>

关于android - 如果文本很长,如何使 snackbar 操作按钮显示在不同的行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54143820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com