Android 用于调整视图大小的选择器

Android 用于调整视图大小的选择器,android,android-view,android-selector,Android,Android View,Android Selector,比方说,我想让用户能够通过在角落中显示一个带点的白色矩形来调整视图的大小,用户可以在其中拖动。调整大小本身很容易,但我的问题是矩形 如果我把它正好放在视图的边缘,那么四分之一的点将被切掉。通过向目标添加一些边距或填充,相邻的两个视图将被推开。。。此外,根据材料设计指南,触摸目标应该是48dp,但我的点不应该填满整个空间 那我该怎么做呢?所有这些都可以通过选择器实现吗?或者您需要一个帮助器视图来实现吗?另外,在我可以调整项目大小的视图中,类似的内容如何工作?如果我正确理解了您的问题 在点所在的xm

比方说,我想让用户能够通过在角落中显示一个带点的白色矩形来调整视图的大小,用户可以在其中拖动。调整大小本身很容易,但我的问题是矩形

如果我把它正好放在视图的边缘,那么四分之一的点将被切掉。通过向目标添加一些边距或填充,相邻的两个视图将被推开。。。此外,根据材料设计指南,触摸目标应该是48dp,但我的点不应该填满整个空间


那我该怎么做呢?所有这些都可以通过选择器实现吗?或者您需要一个帮助器视图来实现吗?另外,在我可以调整项目大小的视图中,类似的内容如何工作?

如果我正确理解了您的问题

在点所在的xml文件中,将以下内容添加到点的父视图中:


或在代码中:

parentViewWhatever.clipChildren = false
parentViewWhatever.clipToPadding = false

这样你的圆点就不会被剪掉

我建议首先使用“启用”此功能的操作(例如获取焦点、长按或菜单项),然后使用ViewOverlay在用户正在编辑的视图顶部绘制。覆盖可以是简单的,也可以是复杂的,并且将位于正在编辑的视图的顶部

编辑完成后(可能是失去焦点、再次按日志或通过菜单项),只需隐藏/删除视图覆盖即可

您应该能够创建一个通用视图来显示您的矩形等,如果需要,可以在多个控件上使用它


通过采用这种方法,你不会一直让你的应用程序变得“凌乱”,你会向用户发出清晰的用户界面信号

你的问题不太清楚。。尝试添加一些代码或图像,以更好地描述您面临的问题。您可以添加一个图像或代码吗?尝试创建一个在角落中包含点的视图,并在中心创建一个带有一些边距的可调整大小的视图部分。边距将为这些点提供空间。谢谢,听起来不错:)当我使用ViewGroupOverlay时,我应该能够为该overlay中的视图处理onClick事件,对吗?这只是另一个视图,所有规则都适用于子视图。主要的是它位于主机视图的顶部,所以可以用来捕获事件etcSo,您是否采用了此解决方案?