问题标签 [snackbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
39678 浏览

android - 如何在 SnackBar 中使用 setDuration() 方法(Android 设计支持库)

来自文档:参数持续时间 - 可以是预定义长度之一:LENGTH_SHORT、LENGTH_LONG或自定义持续时间(以毫秒为单位)。但我无法设置自定义持续时间。

例如

但不是 8 秒 Snackbar 很快就消失了。

0 投票
6 回答
14045 浏览

android - 片段中的Android Snackbar NullPointerException

我想在我的应用程序中添加一个基本的小吃店,但我收到了一个我无法弄清楚原因的错误。

我在 Fragment 的 onCreateView() 方法中添加了这段代码。

并收到此错误:

0 投票
5 回答
23749 浏览

android - 如何从底部到顶部更改 Android Snackbar 的初始对齐方式?

最近的 android 库就在几天前问世,但我希望它SnackBar出现在屏幕顶部,最好是在 RelativeLayout 中,因为它是父视图。

如何改变SnackBar我认为的初始对齐layout_alignParentBottom方式layout_alignParentTop

0 投票
1 回答
14662 浏览

android - Android SnackBar:膨胀 SnackbarLayout 时出错

我想从 Google 提供的官方设计库中试用新的 Snackbar。它的用法非常接近 Toast,所以我认为它很简单,可以尝试一下。

我已经在运行 5.1 的模拟器以及运行 5.0 的三星 Galaxy S6 Edge 上进行了尝试。

我的问题是应用程序在应该显示 Snackbar 时崩溃。

代码

布局:

摇篮文件

我已经尝试提供不同的视图(root RelativeLayout、按钮视图和窗口的装饰视图)作为第一个参数,但无论我提供哪个,我仍然得到以下堆栈跟踪:

0 投票
1 回答
1900 浏览

android - Android:AppCompat Snackbar 和非 AppCompat FloatingActionButton

可以像这样使用 CoordinatorLayout 和自定义 FloatingActionButton:

Futuresimple - FloatingActionButton

或者

部落 - FloatingActionButton

在新的 AppCompat Snackbar 中(当小吃栏动画进入时自动向上移动并在小吃栏动画结束时返回其位置)?

0 投票
13 回答
38836 浏览

android - 当 Snackbar 自行关闭时,如何通知我?

我正在使用com.android.support:design:22.2.0图书馆的 Snackbar。我用它来撤消删除。为了让我的生活更轻松,我将让 UI 看起来像是实际从数据源中删除了东西,如果没有按下快餐栏中的撤消按钮,则实际执行从数据源中删除的操作。所以,我想知道什么时候 Snackbar 不再可见,所以删除这些项目是安全的。

我可以在 Snackbar 上调用 getView(),但我不确定我应该使用哪个监听器。我试过setOnSystemUiVisibilityChangeListener()但没有用,我相信它只适用于系统状态栏。

此外,Snackbar 不能扩展,因为它有一个私有构造函数。

0 投票
5 回答
11277 浏览

java - 在小吃店操作中,如何确保从数据库中永久删除软删除记录是安全的?

我在 android 中使用 Snackbar,并且我已经实现了一个操作,以便用户可以撤消该操作(该操作正在清除列表视图中的所有项目)。删除项目并将其添加回列表视图已经完成并且工作正常。

我的问题是,项目存储在 sqlite 数据库中,如何从表中删除项目?(我怎么知道用户没有点击撤消按钮,这样我才能完全从数据库中删除数据)。

这是OnOptionsItemSelected()中的代码

所以如果用户在snackbar的可见期间没有点击撤消按钮,那么我需要从数据库中永久删除数据。

有什么解决方案吗?

0 投票
22 回答
45371 浏览

android - 如何将支持库小吃栏文本颜色设置为 android:textColor 以外的颜色?

所以我开始在设计支持库中使用新的 Snackbar,但是我发现当你在你的主题中定义“android:textColor”时,它适用于snackbar 的文本颜色。如果您的主要文本颜色较暗,这显然是一个问题。

在此处输入图像描述

有谁知道解决这个问题的方法或对我应该如何为文本着色有建议?

编辑 2017 年 1 月:(回答后)

虽然有一些自定义解决方案可以解决以下问题,但提供正确的 Snackbars 主题方法可能会很好。

首先,您可能根本不应该android:textColor在主题中定义(除非您真的知道使用主题的范围)。这基本上设置了连接到您的主题的每个视图的文本颜色。如果要在视图中定义非默认文本颜色,请android:primaryTextColor在自定义视图中使用并引用该属性。

但是,为了将主题应用于Snackbar,请参考第三方材料文档中的此质量指南:http: //www.materialdoc.com/snackbar/(遵循程序化主题实现,使其不依赖于 xml 样式)

以供参考:

(您也可以创建自己的自定义Snackbar布局,请参阅上面的链接。如果这种方法感觉太老套,并且您希望通过可能的支持库更新让您的自定义 Snackbar 持续存在,请这样做)。

或者,请参阅下面的答案以获得类似且可能更快的答案来解决您的问题。

0 投票
5 回答
21404 浏览

android - 长度不定的 Android 支持库 Snackbar

我看到 Snackbar 在确定其在屏幕上显示的长度时只会占用 LENGTH_LONG 或 LENGTH_SHORT。

我想让它显示出来,直到有人将它从屏幕上滑下来。这适用于您遇到持续错误的某些情况,例如当您没有互联网并且您希望在选择 LENGTH_LONG 时通知用户而不会在 2750 毫秒后从屏幕上消失。

当然,我可以使用 setDuration 来设置一个非常长的毫秒值,但是有没有办法只设置它以使其在用户关闭它之前不会消失?

0 投票
1 回答
1433 浏览

xamarin.android - Snackbar 问题(仅在调试模式下)

我在 android 支持设计库中遇到了 Snackbar 的问题。奇怪的是,它只发生在我在调试模式下运行我的应用程序时,在发布模式下它一切正常。

有人对这个问题有想法吗?这似乎是支持库中的一个错误。

代码

例外

07-06 11:47:50.414 I/MonoDroid(13296):Java.Lang.ClassCastException:抛出了“Java.Lang.ClassCastException”类型的异常。07-06 11:47:50.414 I/MonoDroid(13296): 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () 07-06 11:47:50.414 I/MonoDroid(13296): 在 OverAllField.XamarinAndroid.Fragments.Planning .PlanningFragment.FloatingActionButton_Click (object,System.EventArgs) [0x00001] in c:\Development\Apps\FieldService-Tablet\OverAllF07-06 11:47:50.414 I/MonoDroid(13296): 在 Android.Runtime.JNIEnv.CallStaticObjectMethod ( intptr,intptr,Android.Runtime.JValue*) [0x00064] 在 /Users/builder/data/lanes/1502/24855232/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:1301 07 -06 11:47:50.414 I/MonoDroid(13296): 在 Android.Support.Design.Widget.Snackbar.Make (Android.Views.View,Java.Lang.ICharSequence,int) 07-06 11:47:50。