【问题标题】:How do you implement the snackbar that has the button at the bottom?你如何实现底部有按钮的snackbar?
【发布时间】:2017-12-04 04:35:57
【问题描述】:

在材料设计规范中,底部有一个按钮。你如何实现它?

这是规范中的图片。我说的是最后一个。

【问题讨论】:

标签: android android-support-library androiddesignsupport android-snackbar snackbar


【解决方案1】:

Android会自动调整描述文字的大小,但不能调整ActionButton的文字大小,所以如果按钮的文字增加,Android会自己做那种布局。

这是一个简单的例子 ->

Snackbar snackbar = Snackbar
        .make(mainLayout, "Confirm delete?", Snackbar.LENGTH_LONG)
        .setAction("YES", new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar mSnackbar = Snackbar.make(mainLayout, "Message successfully deleted.", Snackbar.LENGTH_SHORT);
                mSnackbar.show();
            }
        });
 
snackbar.show();

【讨论】:

  • 如果我添加一个非常长的消息和一个与您的一样长的按钮,我会在我添加的图像上得到第三个示例,而不是第四个。
  • 有用的答案!!
【解决方案2】:

此链接上的答案帮助我解决了问题。

https://stackoverflow.com/a/54177574/869451

如果链接丢失,我将在此处复制解决方案:

        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
            <!-- Add this line -->
            <item name="maxActionInlineWidth">@dimen/design_snackbar_action_inline_max_width</item>
        </style>

【讨论】:

    【解决方案3】:

    我已经编写了一个库来做到这一点。它还包括队列系统。试试看https://github.com/tingyik90/snackprogressbar

    如果按钮宽度超过屏幕总宽度的 25%,则将操作置于下一行。如果需要,您可以自己修改我的代码。在SnackProgressBarLayout.java下。

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 2016-03-09
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 2019-11-08
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多