Android 实现这种图形化设计的最佳方式是什么?(安卓)

Android 实现这种图形化设计的最佳方式是什么?(安卓),android,Android,大家好,谢谢你们抽出时间 问题简介:基本上,主要问题是我正在设计一款android平板电脑应用程序,我不知道哪种方法是实现我一直在思考的设计的最佳方法。我一直在读到有可能使用Android以外的其他平台,如OpenGL或HTML,但我不知道如何做到这一点,如果有必要的话 我该怎么做?我不知道如何用文字准确解释我的想法,所以我决定准备一个关于它的小图片,如下所示: 因此,我们的想法是将按钮拖放到彩色方块,并检测它们是否发生碰撞,如果发生碰撞,则启动一个事件。然后,所有的按钮将再次由它们自己订购

大家好,谢谢你们抽出时间

问题简介:基本上,主要问题是我正在设计一款android平板电脑应用程序,我不知道哪种方法是实现我一直在思考的设计的最佳方法。我一直在读到有可能使用Android以外的其他平台,如OpenGL或HTML,但我不知道如何做到这一点,如果有必要的话

我该怎么做?我不知道如何用文字准确解释我的想法,所以我决定准备一个关于它的小图片,如下所示:

因此,我们的想法是将按钮拖放到彩色方块,并检测它们是否发生碰撞,如果发生碰撞,则启动一个事件。然后,所有的按钮将再次由它们自己订购

那么问题是什么?我是android新手,我不知道哪种方式是开始实现这一点的最佳方式,如果我打赌OpenGL或直接在android中编程的话。在这两种情况下,哪种方法是开始创建类似的东西的最佳方法

最后一件事:我想澄清一点,以防万一:这不是别人让我做的任何学校作业,我是自己做的。我不是在要求别人做我的工作,我只是在征求你的意见,寻求帮助和指导,如何开始管理这项工作。(所以我要你的专业意见,而不是任何一行代码):D

非常感谢大家。:)


马蒂。

OpenGL似乎是您在这里的最佳选择。我对Android OpenGL没有太多的经验,但这将是编写应用程序最有效的方法——因为你要处理碰撞检测和颜色

Android OpenGL将是最好的选择,因为它将由ADK本地编译,而HTML将在运行时解释

至于使用普通平淡的Android布局,我不建议这样做,因为这不是使用标准组件的“标准”UI。您正在创建一个非常图形化的完全独特的界面,因此我建议您坚持这样做

编辑:您会发现,通过使用标准布局,您的所有用户界面组件都必须进行自定义,并且您将花费大量时间使用onDraw()方法进行冲突检测

这样做的一个问题是,您需要检查对象是否与另一个对象发生碰撞,从而使某些类型的对象能够相互感知,并且可能存在循环引用的风险。而如果使用OpenGL,则可以有一个“形状”类型列表,然后有一个“checkCollision(Shape draggedObject)”方法,该方法迭代形状列表,并使用针对最简单对象的优化碰撞检测来检查碰撞

第二个问题是,在onDraw()方法中执行冲突检测会使应用程序延迟,并且在执行拖动时对用户来说似乎是粘性的。组件越多,问题就越多

编辑2: 以下是Android OpenGL的一些资源:



这听起来似乎在HTML/JavaScript中使用触摸事件非常容易,可能使用一个用于拖放事件的按钮。我不知道这对你是否重要,但这个解决方案的好处是它可以很容易地从Android移植到其他移动设备


正如Quintin所说,如果性能是一个大问题,那么您可以进行优化并使用OpenGL,但您可能可以在一天内完成一个简单的HTML原型…

在我看来,您不需要任何框架。你可以用android来完成这一切。我还建议你使用安卓系统。我不是一个好的设计师,但我的建议是:

两个Framelayout,用于左侧的颜色工具,一个用于右侧 对于颜色工具,每2种颜色都可以使用LinearLayout。如果你想要精确的背景设计,你可以用一个图像软件来设计,并且可以在背景中进行设置。 对于颜色,可以使用imageButton


我还建议您阅读如何设计应用程序的教程,这里有一个很好的教程:

那么,如果我想用OpenGL来做,我应该从哪里开始,您推荐我一些好的教程如何实现它吗?因为我必须承认,我不知道如何在一个项目中合并android和OpenGL。除此之外,该应用程序还使用了我已经在Android中实现的声音处理,所以如果我使用OpenGL,我不知道这是否会造成任何问题。如果我尝试使用HTML,和以前一样吗?哪种方法可以合并两种语言?非常感谢你!正如我回答/询问@Coderer一样,我如何将OpenGL(或其他语言)集成到android项目中?你有什么好的教程吗?非常感谢。我添加了一些教程-请记住,使用OpenGL的缺点是现在您必须自己管理大多数事情,例如拖动等。实际上,我并不害怕碰撞检测,因为我必须使用正方形进行碰撞检测,基本上我只需检查我是否将圆放置在正方形内,所以我只会在放下对象时检查:)另一个问题是,所有这些圆在拖动时都必须设置动画,如果我使用位图动态创建它们(因此它们不在main.xml中),我现在不知道如何设置动画,大多数教程都使用视图布局和所有这些东西!我听到的越多,我越觉得OpenGL是你的答案。移动时的动画在该上下文中比在其他任何地方都更好。你可以创建一个“AnimationShape”对象,并在对象处于特定状态时定义动画。我还检查了phonegap,它似乎很容易实现,你怎么看