代码之家  ›  专栏  ›  技术社区  ›  Jack

根据坐标设置内部视图的最佳布局是什么?

  •  1
  • Jack  · 技术社区  · 6 年前

    哪个布局支持基于(x,y)坐标设置其内部/包含的视图,我研究了绝对布局,但发现它自api 3以来已被弃用…我知道绝对贬值背后的原因,但在我的情况下,这不是问题,而且是必须的。

    对于不同的移动屏幕,绝对布局很难维护。 因为我们设置了 子视图或被调用的组件。定位基于X(顶部) 和Y(左)坐标,这个定位在世界上没有那么有用。 各种屏幕分辨率(大小)和纵横比。

    P.S:如果我唯一的选择是相对布局或框架布局(通过更新子页边距),知道用户通过按子视图/包含视图并重新定位来控制它的位置,那么如何以最有效的方式来做到这一点?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Tam Huynh    6 年前

    我建议你一起去 FrameLayout 并根据触摸坐标设置子视图的动画,不要触摸视图的边缘。

    最简单的方法是使用内置的 ViewPropertyAnimator 属于 View 通过呼叫 animate() . 您可以通过调用以下命令转换视图:

    view.animate().translateX(xCoord).translateY(yCoord).setDuration(0).start()
    

    每次触摸动作。

    当坐标变化过快时会出现一些不平滑的运动。检查此库以获得触摸时的平滑动画: https://github.com/wirecube/android_additive_animations