哪个框架可用于在 Android 上绘制复杂的交互式 UI 层次结构? (就像 iOS 上的 CoreAnimation)

Posted

技术标签:

【中文标题】哪个框架可用于在 Android 上绘制复杂的交互式 UI 层次结构? (就像 iOS 上的 CoreAnimation)【英文标题】:Which Framework can be used to draw a complex, interactive UI hierarchy on Android? (Like CoreAnimation on iOS) 【发布时间】:2020-03-29 15:40:05 【问题描述】:

我正在将矢量图形编辑器从 ios 移植到 android。应用程序必须以有效的方式绘制复杂的图形对象层次结构,以便可以使用手势实时编辑图形。编辑后的作品通常由图像、文本和图形基元(线、圆等)组成。选择突出显示等 UI 元素在顶部的单独图层上呈现。

在 iOS 应用上,如果图形的某个组件发生变化(例如,一个小文本元素更改了其内容),则仅重新呈现该文本元素。

在 iOS 上,我们使用来自 CoreAnimation 框架的 CALayer 对象。这很好用。这个用例可以在 Android 上使用什么框架?是否有既定的“本地”方式来做到这一点,或者通常使用第三方框架?

【问题讨论】:

Android 上的复杂图形通常使用SurfaceView 实现。不确定它是否符合您的需求,但另一种选择可能是研究 libgdx 或 unity 等游戏框架。 【参考方案1】:

Android 没有开箱即用的类似功能。我们确实有core.animation,但仅限于简单的行为动画。要创建您想要的内容,您需要使用 SurfaceViewGLSurfaceView 以及 clean OpenGL 的帮助。您也可以尝试使用普通的CanvasView - 但是您的可能性有限。

还有围绕OpenGlSurfaceView 的包装器,例如libgdx,尽管它主要用于游戏 - 所以它有比您需要的更广泛的可能性,但它没有OpenGl 复杂。

希望对你有帮助。

【讨论】:

以上是关于哪个框架可用于在 Android 上绘制复杂的交互式 UI 层次结构? (就像 iOS 上的 CoreAnimation)的主要内容,如果未能解决你的问题,请参考以下文章

Android:具有可绘制资源的 ImageButton 引发 ResourceNotFoundException

如何在路线谷歌地图v2 android上绘制交互式折线

Android 图表框架MPAndroidChartr如何不绘制右边的Y轴

Android:日常学习笔记———探究UI开发

android热更新框架哪个好

哪个可用于 JavaScript 和 Grails/Java 的可互操作模板框架?