【问题标题】:Conditionally display items in ListAdapter based on available horizontal space根据可用的水平空间有条件地在 ListAdapter 中显示项目
【发布时间】:2012-08-22 13:32:27
【问题描述】:

我有一个 ListAdapter,它使用 RelativeLayout 来显示列表中的项目。

布局有一个在右侧对齐的 TextView,我想根据可用空间从左侧显示 ImageView/TextView 对的变量列表。如果其中一对会与右对齐的文本视图重叠,我不想再显示了。

以下是一些说明图片:

在狭窄的屏幕上,可能会显示 2 对:

在更宽的屏幕上可能会显示 4 对:

我已经尝试在 BaseAdapter getView 覆盖中测量元素。但这只是衡量文本,并没有告诉我位置。我想我也需要调用 layout 吗?

我可以使用更简单的技术吗?

提前致谢

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    您可以为不同的方向和大小的屏幕设计单独的布局,然后 Android 会自动为您加载合适的布局。阅读如何做到这一点:Designing for Multiple Screens

    【讨论】:

    • 我需要更灵活的东西。右对齐和.pair 文本在同一个列表中可以是不同的长度。因此,即使在同一设备上,某些行也只能显示 2 对而不会重叠其他 4。
    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多