Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓点击取消烤面包_Android_Toast - Fatal编程技术网

Android 安卓点击取消烤面包

Android 安卓点击取消烤面包,android,toast,Android,Toast,我有一个定制的烤面包片,上面有一张图片和一些文字。这个烤面包足够大,几乎可以覆盖半个屏幕。它的持续时间很长,因为它包含很多信息 在某些情况下,这对用户来说可能有点烦人。当用户点击toast时,有没有办法取消它?如果没有,在单击toast之外的任何位置时,是否有方法取消toast 谢谢 保留您的Toast参考,然后您可以使用cancel()方法,文档 为了知道何时需要取消toast,您需要使用活动的OnTouchEvent截取触摸事件,并获取触摸事件的x/y位置。然后,您可以将其与myToast.

我有一个定制的烤面包片,上面有一张图片和一些文字。这个烤面包足够大,几乎可以覆盖半个屏幕。它的持续时间很长,因为它包含很多信息

在某些情况下,这对用户来说可能有点烦人。当用户点击toast时,有没有办法取消它?如果没有,在单击toast之外的任何位置时,是否有方法取消toast


谢谢

保留您的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在需要时清理它。