选择器以调整视图大小

时间:2019-09-13 06:37:24

标签: android android-view android-selector

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

如果我将其恰好放置在视图的边缘,则将切除四分之一的点。通过向目标添加一些边距或填充,彼此相邻的两个视图将彼此远离...。此外,根据材料设计准则,触摸目标应为48dp,但我的点不应填充整个空间

那我应该怎么做呢?选择器是否可以实现所有这些功能,或者您需要帮助器视图吗?另外,在Recaclerview中可以调整项目大小的东西会如何工作?

2 个答案:

答案 0 :(得分:0)

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

在您的xml文件中,将点添加到作为点父级的视图中

<ParentViewWhatever
    android:clipChildren="false"
    android:clipToPadding="false">

    <DotView ... />

    <DotView ... />

    <DotView ... />

</ParentViewWhatEver>

或在代码中

parentViewWhatever.clipChildren = false
parentViewWhatever.clipToPadding = false

这样,您的点就不会被切断。

答案 1 :(得分:0)

我建议首先进行一项“启用”此功能的操作(例如,获得焦点,长按或菜单项),然后使用ViewOverlay在用户正在编辑的视图之上绘制。叠加层可以根据需要简单或复杂,并将位于要编辑的视图的顶部。

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

您应该能够创建通用视图以显示矩形等,并根据需要在多个控件上使用它。

通过采用这种方法,您不会一直使应用程序变得“混乱”,并且会向用户提供清晰的UI信号。