Android 安卓点击取消烤面包
我有一个定制的烤面包片,上面有一张图片和一些文字。这个烤面包足够大,几乎可以覆盖半个屏幕。它的持续时间很长,因为它包含很多信息 在某些情况下,这对用户来说可能有点烦人。当用户点击toast时,有没有办法取消它?如果没有,在单击toast之外的任何位置时,是否有方法取消toastAndroid 安卓点击取消烤面包,android,toast,Android,Toast,我有一个定制的烤面包片,上面有一张图片和一些文字。这个烤面包足够大,几乎可以覆盖半个屏幕。它的持续时间很长,因为它包含很多信息 在某些情况下,这对用户来说可能有点烦人。当用户点击toast时,有没有办法取消它?如果没有,在单击toast之外的任何位置时,是否有方法取消toast 谢谢 保留您的Toast参考,然后您可以使用cancel()方法,文档 为了知道何时需要取消toast,您需要使用活动的OnTouchEvent截取触摸事件,并获取触摸事件的x/y位置。然后,您可以将其与myToast.
谢谢 保留您的Toast参考,然后您可以使用
cancel()
方法,文档
为了知道何时需要取消toast,您需要使用活动的
OnTouchEvent
截取触摸事件,并获取触摸事件的x/y位置。然后,您可以将其与myToast.getView().getY()
和getX()
进行比较,以获得左上角和getWidth()
和getHeight()
尝试使用AlertDialog,它将为您提供所需的相同功能,或弹出窗口以获得更多设计可能性。使用crouton库。比toast和clickMake上的show and hide(显示和隐藏)功能更好,因此您可以使用toast中的cancel()方法。谢谢,这让我走上了正轨。但是,由于toast显示在listview上,并且listview项具有onClick侦听器,因此在toast上单击时,触摸事件将由listview使用。我怎样才能避免这种行为?谢谢!如果您希望生成一个真正干净、美观的代码,我将创建一个自定义视图组(如LinearLayout或RelativeLayout)并覆盖DispatchTouchEvent
。如果返回false,则事件将停止,不会转到listview。或者,您可以在listview的onItemClick方法中什么也不做。在这两种情况下,您都需要知道当前是否显示了祝酒词。我从来没有测试过它,但是看起来应该这样做:<代码> toAST.GETVIEW().ISSHOWN()/<代码>。为了避免内存泄漏,请考虑将<代码> WeakReferece <代码> totoStuter,以便GC在需要时清理它。