1

我有许多自定义视图,可以在点击事件上展开,它们会向下推视图。

这可能会导致某些视图完全或部分超出屏幕。我想检测这些事件并将它们移动到屏幕的第二列。

两列都占屏幕大小的一半。

我不想使用 Listview 或任何可滚动的东西,如果空间可用,只需将视图从第 1 列移动到第 2 列并返回。

编辑:我正在尝试覆盖每个视图 onDraw,因此它可以检查底部坐标是否低于屏幕 y 坐标,然后将它们重新设置为预定义的布局。但到目前为止还没有成功。

EDIT2:我设法检测到视图是否超出屏幕空间。供将来参考:我已经覆盖了我的自定义视图类的 dispatchDraw,我在其中计算了它的底部位置和屏幕高度: context.getresources().getdisplaymetrics().heightpixels;

4

0 回答 0