【发布时间】:2010-10-07 18:55:23
【问题描述】:
我需要创建一个与屏幕截图完全相同的屏幕(可滚动) here 。我不知道应该使用哪种布局模式或应该使用的小部件。
包括缩略图链接在内的数据是动态可用的。
各位专家,请帮忙提出宝贵的建议、意见和帮助。
期待, 问候, 罗尼
【问题讨论】:
标签: android android-widget android-layout android-listview android-lazyloading
我需要创建一个与屏幕截图完全相同的屏幕(可滚动) here 。我不知道应该使用哪种布局模式或应该使用的小部件。
包括缩略图链接在内的数据是动态可用的。
各位专家,请帮忙提出宝贵的建议、意见和帮助。
期待, 问候, 罗尼
【问题讨论】:
标签: android android-widget android-layout android-listview android-lazyloading
您的屏幕截图中使用的视图很可能是自定义的ListView。看看那个。
我经常推荐的一个有用来源是API Demos project。
我将快速列出您实现目标所需执行的步骤;)
对我个人有帮助的是查看原生 Android 联系人应用程序的源代码。它有一个包含部分、图标等的非常“复杂”的列表。下载android source 或浏览它here。
【讨论】:
我在 Listviews 上做了很多工作,并查看了您的屏幕截图,如果可以的话,我建议您避免使用 listviews。 如果您总是有一个恒定的布局,即使它是您在屏幕截图中显示的布局,那么我会在一个 xml 文件中对每个元素 [仅唯一的] 进行布局,并在需要时动态添加它们。 虽然我不确定您希望您的布局如何准确,但如果您的元素数量可以增加,这可能不是很好。
【讨论】:
如果没有更多信息,这是一个很难回答的问题。
就个人而言,我不喜欢使用 ListView。如果您可以将数据存储在并行数组或类似的东西中,我只需使用 for() 循环,将 Buttons、TextViews 等添加到主布局中。
【讨论】:
看到截图,和我经历过的很相似。我最初使用 ListView 和 ArrayAdapter,但最后,它让我头疼,让我一直摸不着头脑。我不是 Android 开发专家,但我会这样做:
<LinearLayout>
<!-- Used for the non-scrollable header
Can be a RelativeLayout if you wish -->
</LinearLayout>
<!-- Scrollable items here -->
<ScrollView>
<!-- Necessary since ScrollView only accepts one child -->
<LinearLayout>
<LinearLayout>
<!-- This will be the container for the items in your list.
You can choose to inflate this layout in your code
and use addView to add other child Views you want. -->
<!-- Views you add here will contain the ImageViews, TextViews
for the images and text content -->
<LinearLayout>
</LinearLayout>
</ScrollView>
【讨论】: