哪个框架可用于在 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,但仅限于简单的行为动画。要创建您想要的内容,您需要使用 SurfaceView
或 GLSurfaceView
以及 clean OpenGL
的帮助。您也可以尝试使用普通的Canvas
或View
- 但是您的可能性有限。
还有围绕OpenGl
和SurfaceView
的包装器,例如libgdx
,尽管它主要用于游戏 - 所以它有比您需要的更广泛的可能性,但它没有OpenGl
复杂。
希望对你有帮助。
【讨论】:
以上是关于哪个框架可用于在 Android 上绘制复杂的交互式 UI 层次结构? (就像 iOS 上的 CoreAnimation)的主要内容,如果未能解决你的问题,请参考以下文章
Android:具有可绘制资源的 ImageButton 引发 ResourceNotFoundException