我在片段中有一个Button,按钮的visibility属性设置为“GONE”。我想在拖放操作开始时将可见性设置为“VISIBLE”。并且当拖放操作结束时设置可见性,我该怎么做?
编辑:我使用了View.OnDragListener,但当可见性设置为“GONE”或“INVISIBLE”时,它根本不会调用View.OnDraglistener。
感谢。
答案 0 :(得分:4)
我也遇到过这个问题。有一些图像,可以重新排序,还有一个区域,当图像被删除时,它被删除。所有图像都有一个特定的drop listener,删除区域有一个不同的drop listener(因为它的目的)。一切正常,并使用了所有标准的API,但我希望拖放区域仅在拖动开始时出现,并在拖动结束时消失(或者项目被删除以便删除)。在这里,这个“bug”(我猜)出现了:如果视图的可见性发生了变化(最初它是不可见的,那么在需要时让它可见,然后再次看不见)。看来如果视图的可见性被更改,则侦听器被取消/丢失/无法正常工作,并且设置/重置它不会改变任何内容。
我的解决方案是设置透明度(alpha)
view.setAlpha(0); //transparent thus invisible
view.setAlhpa(1f); //opaque, visible
想要分享这个,以防有人也会这样做。
顺便说一下,如果要隐藏视图,请使用INVISIBLE,GONE会产生不同的后果http://developer.android.com/reference/android/view/View.html
答案 1 :(得分:0)
使用onDrag Listener,这里有Android文档
http://developer.android.com/reference/android/view/View.OnDragListener.html
这是一个很好的例子:
http://www.vogella.com/tutorials/AndroidDragAndDrop/article.html