根据可用的水平空间有条件地在 ListAdapter 中显示项目
Posted
技术标签:
【中文标题】根据可用的水平空间有条件地在 ListAdapter 中显示项目【英文标题】:Conditionally display items in ListAdapter based on available horizontal space 【发布时间】:2012-08-22 13:32:27 【问题描述】:我有一个 ListAdapter,它使用 RelativeLayout 来显示列表中的项目。
布局有一个在右侧对齐的 TextView,我想根据可用空间从左侧显示 ImageView/TextView 对的变量列表。如果其中一对会与右对齐的文本视图重叠,我不想再显示了。
以下是一些说明图片:
在狭窄的屏幕上,可能会显示 2 对:
在更宽的屏幕上可能会显示 4 对:
我已经尝试在 BaseAdapter getView 覆盖中测量元素。但这只是衡量文本,并没有告诉我位置。我想我也需要调用 layout 吗?
我可以使用更简单的技术吗?
提前致谢
【问题讨论】:
【参考方案1】:您可以为不同的方向和大小的屏幕设计单独的布局,然后 android 会自动为您加载合适的布局。阅读如何做到这一点:Designing for Multiple Screens
【讨论】:
我需要更灵活的东西。右对齐和.pair 文本在同一个列表中可以是不同的长度。因此,即使在同一设备上,某些行也只能显示 2 对而不会重叠其他 4。以上是关于根据可用的水平空间有条件地在 ListAdapter 中显示项目的主要内容,如果未能解决你的问题,请参考以下文章