Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 布局设计理念_Android - Fatal编程技术网

Android 布局设计理念

Android 布局设计理念,android,Android,我不确定问这个问题的最佳方式。 我是Android开发的新手,我想知道实现我所需要的东西的最佳方式是什么,例如一个SurfaceView的组合,或者只是一个视图,它们应该是什么容器的孩子……诸如此类的东西。我正在XOOM平板电脑上开发这个。。。但它需要在所有的蜂窝安卓平板电脑上工作 [我有一个样本屏幕原型,但我没有足够高的声誉来发布它。] 这是我要找的。此应用程序中的主要活动需要在4x4网格中显示16个位图。这个网格需要占据屏幕左侧的一半或多一点。屏幕的其余部分将只有文本视图、按钮和其他典型控件

我不确定问这个问题的最佳方式。 我是Android开发的新手,我想知道实现我所需要的东西的最佳方式是什么,例如一个SurfaceView的组合,或者只是一个视图,它们应该是什么容器的孩子……诸如此类的东西。我正在XOOM平板电脑上开发这个。。。但它需要在所有的蜂窝安卓平板电脑上工作

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

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

问题是,我希望能够双击这16幅图像中的一幅,并对其进行动画处理,以占据这16幅图像的整个空间……当它出现在前景时,有效地将其后面的其余部分隐藏起来。然后,用户可以再次双击它,将动画设置回其在网格中的位置

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

我愿意接受关于如何安排这件事的想法,以及什么样的观点组合,或者任何有助于我让这件事运作起来的想法


谢谢您的帮助。

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

因此,对于屏幕的左侧部分,使用GridView/嵌套LinearView或自定义布局来获取4x4矩阵。然后,每个子视图可以由一个框架布局组成,其中包含一个imageview和imageview顶部的多个文本视图。这将保证您充分利用框架为您提供的功能,减少开发时间并最大限度地提高灵活性。
一定要特别阅读有关层的部分,以加速动画。另外,请务必使用酷炫的新款

谢谢,我会尝试一下。我最终使用了GridView,它包含16个框架布局,每个框架都有一个CustomImageView(扩展了ImageView)和一个TextView。我现在唯一不能工作的就是动画。我尝试了onDoubleTap,但我不知道哪个GridView单元格正在被点击,所以我最终使用了OnItemClickListener和onItemLongClick。现在我确切地知道了用户选择的网格中的哪个项目。唯一的问题是,当我将它设置为动画,占据整个4x4网格时,它会执行动画,但我不知道如何将其置于顶部。它似乎位于网格中所有其他单元格的后面。您好,GridView有一个您可以使用的setOnItemClickListener。至于隐藏的视图,我的建议是将GridView和框架布局的一个实例放入viewFlipper中。单击网格时,填充隐藏的framelayouts的内容,并在ViewFlipper上调用setDisplayedChild。动画部分可以通过在Viewflipper上设置无动画和outAnimation来完成。