-1

我不确定问这个问题的最佳方式。我是 Android 开发的新手,想知道什么是完成我需要的最佳方式,例如 SurfaceViews 的组合,或者只是一个 View,它们应该是什么容器的子项……诸如此类。我正在 XOOM 平板电脑上开发它......但它需要在所有 Honeycomb Android 平板电脑上运行。

[我有一个示例屏幕原型,但我没有足够高的声誉来发布它。]

这就是我要找的东西。这个应用程序的主要活动需要在 4x4 网格中显示 16 个位图。这个网格需要占据屏幕左侧的一半或多一点。屏幕的其余部分将只有 TextViews、Buttons 和其他典型控件。

关键是我希望能够双击这 16 张图像中的一张,并让它动画化以占据 16 张的整个空间……当它到达前景时,有效地将其余部分隐藏在它后面。然后用户可以再次双击它以动画回到它在网格中的位置。

此外,我将通过 wifi 连接从服务器接收数据,这可能会告诉我我需要在位图上绘制一些东西。例如,我的位图是足球比赛的图片,我可能需要在比赛顶部绘制新的比分或图标或其他东西。所以我想我可以使用 16 个 SurfaceView,每个游戏一个,但是我尝试了 ScaleAnimation,虽然 SurfaceView 确实调整了大小,但在它上面绘制的位图没有,如果我问它的大小是什么,或者 scaleX 在 ScaleAnimation 之后是多少完成它告诉我原始大小,而不是缩放大小。所以这对我不起作用。

我愿意接受关于如何布局和视图组合的想法,或者任何可以帮助我让这个东西工作的想法。

谢谢你的帮助。

4

1 回答 1

0

由于您的目标是蜂窝或更高版本,因此您可以采用最简单的路线,即使用标准视图。只需确保在清单中激活硬件加速即可。正如您已经发现的那样,使用标准的 android 动画框架无法轻松地为 SurfaceViews 设置动画。

因此,对于屏幕的左侧部分,使用 GridView / 嵌套的 LinearViews 或自定义布局来获取您的 4x4 矩阵。然后,每个 ChildView 都可以由一个 FrameLayout 组成,该 FrameLayout 包含一个 imageview 和一些位于 imageView 顶部的 textview。这将保证您充分利用该框架为您提供的减少开发时间和最大化灵活性的功能。请务必阅读本文,尤其是关于图层以加快动画速度的部分。还要确保使用酷炫的新动画框架

于 2012-04-14T13:40:11.583 回答