我正在创建一个Android程序,以编程方式创建一个ImageView,将其拖放到屏幕上的任何位置。我可以沿着屏幕拖动视图,但是当它被拖动到屏幕的底部和右侧时,视图会缩小而不是仅仅离开屏幕。我想避免这种行为。
几年前我遇到过这个问题:Android: Drag View Outside Screen它似乎与我自己的问题相同,但没有得到答复。我尝试了一些其他建议的方法,包括将'clipChildren'和'clipToPadding'设置为false:Android: Display Image Slightly Outside A Relative Layout
同样,只有在将图像拖动到屏幕的底部和右侧时才会出现此问题。当拖动到顶部或左侧时,图像会离开屏幕。
答案 0 :(得分:1)
视图会缩小,因为在某些时候您会更改视图的宽度/高度,即因为屏幕上没有足够的空间而强制减少getRight() - getLeft()
。
无论如何,直接设置视图的坐标不应该do。而是实现自定义ViewGroup / layout:
onLayout()
child.layout(left, top, right, bottom)
有关示例,请参阅FrameLayout at line 513的代码和onLayout()的文档。