无法确定Android屏幕的布局

3

我希望能够建立一个类似下面这样的屏幕:

enter image description here

我想要建立像图片中那样的书架。我经过了很多思考来构建这样一个GUI,做出了以下的决定来实现这个屏幕。我的观察告诉我:

 1. This layout can not be designed using xml layout file . Rather its gui must be designed pragmatically . 
 2. Every row is a simple table row whose background color is wood color . In each table row there are two image view . The image of books will be put in to this image . 
 3. If a new book is inserted into database the list will be expanded . If no space in table row is available then a new table row will be created and the image of that book will be kept there . 

有没有办法在layout xml文件中实现整个GUI?我设计布局的概念是否存在错误?还有其他的布局文件设计思路吗?


GridView可能是您问题的最佳且最简单的解决方案..请查看自定义GridView。 - Aamirkhan
我已经在GRID视图上做了一些工作。您能否请解释一下如何通过GRID视图完成它? - osimer pothe
好的,来这里:http://chat.stackoverflow.com/rooms/13436/smart-phones-developer 我会尽力帮助你。 - Aamirkhan
3个回答

2
请参阅GridView指南,它可以完美地实现您所需的功能。您只需填充它的项,网格视图会自动确定其放置位置。
可能会存在背景问题,但您可以像这样设置单个网格项: 布局具有“木”背景和两个图像视图,“架子”位于底部,“书”位于其上方。
如果您希望支持横向方向和平板电脑,则此方法要好得多。

谢谢。你能再多写一点吗?我不太明白网格视图如何解决我的问题。 - osimer pothe
请阅读GridView指南,它是关于GridView及其工作原理的非常好的描述:http://developer.android.com/guide/topics/ui/layout/gridview.html - Jin35

0

就我个人而言,我可以把原始布局想象成线性布局,方向为垂直,在该线性布局内有三个更多的线性布局,方向为水平。只需将layout_weight分别调整为3、2和1,并使每个单独的线性布局的layout_width为0px。那么基本上就是在背景中得到一张你可以工作的图片。

另外,您可以使每个架子都充满图像视图,这些图像视图是不可见的,在人们添加书籍时,使它们可见,并简单地使用android:setx和sety属性对齐它们。但这不是非常精确的,因为在屏幕更大的手机上看起来会不同。所以我不得不说,在xml文件中纯粹地完成这件事是不可能的。


好的。如果无法仅使用XML文件完成,您能告诉我哪些部分可以在XML文件中实现吗? - osimer pothe

0

以下是有关编程的有用文章,可以帮助您完成任务:

#1 您可以参考 Google Code 上提供的 Shelves 应用程序开源项目。http://code.google.com/p/shelves/。这可以帮助您。

#2 SO 上的一篇文章

#3 CodeProject 上的一篇文章


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接