【问题标题】:How to dynamically show a list of words如何动态显示单词列表
【发布时间】:2011-12-03 17:16:17
【问题描述】:

我刚开始使用 android,需要一些帮助。

我有一个单词列表,长度总是在 20 到 30 个单词之间,我想在屏幕上以列的形式显示这些单词,尽可能多地利用屏幕。在纵向中,三列似乎是最好的尺寸,而在横向中,五列似乎是最好的。单词来自一个动态创建的字符串数组。

我能够通过计算最佳列数和行数然后创建和添加所有 LinearLayouts 和 TextViews(端口中每个布局三个 TextView,陆地五个)以编程方式处理方向变化,但我很好奇是否使用 layout-land / layout-port xml 技术可以实现这一点。

【问题讨论】:

    标签: android


    【解决方案1】:

    我会尝试使用 TableLayout 并将 TextView 视图指定为 TableRow 视图。这将允许您根据需要在 layout-port 和 layout-land 中指定单独的布局。

    【讨论】:

    • 我确实考虑过这一点,但我不知道如何在不以编程方式处理旋转的情况下动态调整大小(行和列)。我现在正在看 GridView,它看起来很有希望。
    • 对不起,我可能误解了你的问题。我以为你决定 3 / 5 列纵向/横向效果最好。基于此,我将为纵向创建 3 列 x 10 行的布局,为横向创建 5 列 x 6 行的布局。然后,根据实际字数,我会折叠任何不需要的行。
    • 但是在每次方向更改期间,折叠不需要在代码中手动完成吗?
    • 是的,你是对的——仍然需要一些代码来调整。我认为您可能在 GridView 的正确轨道上,因为您可以修复 XML 布局中的列数,并且它应该动态创建正确的行数。我会撤回这个答案。
    【解决方案2】:

    如果我在你那里我会使用列表视图。也许这个帖子可以帮助你:Android: Populating a listview with array items

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 2016-09-13
      • 1970-01-01
      • 2020-02-14
      • 2017-08-05
      • 2016-09-27
      • 2014-02-25
      • 1970-01-01
      相关资源
      最近更新 更多