gpt4 book ai didi

android - API 17 和 API 16 中的 RecyclerView 高度问题 - Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:15 27 4
gpt4 key购买 nike

我正在我的应用程序中实现 RecyclerView 以显示内容列表。在我的 LG Nexus 5 (Android 5.1 M) 上,如果我将目标 sdk 设置为 16 或 17(基本上是为了模拟那些使用 api 16、17 的手机上发生的事情),我的列表行高会发生显着变化。

但是,这不会发生在 API 18 或 18+ 上。我无法真正弄清楚为什么会发生这种情况以及解决此问题的最佳方法是什么。

还有一件事:我在列表行中使用了 ImageView。当我在 ImageView 中从服务器加载图像时,就会发生这种情况。我使用 ImageLoader 库来执行此操作。但是,如果我使用静态图像,则不会出现此问题

最佳答案

“如果我使用静态图像,那么我就没有这个问题”使用静态图像时,它们会在 onLayout() 期间加载为您的 ImageView。在布局期间加载图像时,它会影响 onMeasure() 中的测量尺寸通过。

当图像不是静态设置时(即通过网络异步下拉),ImageView 不能依赖图像的大小来确定其测量大小。加载图像时,它将缩小以适应现有测量的 ImageView

解决方案:

  • 指定 minHeight在您的 ImageView 或行布局上
  • 或在您的 ImageView 或行布局上指定固定高度

如果您知道行的尺寸,您应该使用固定高度。

RecyclerView 有默认样式,可以为您的行布局设置 minHeight 等属性,这些样式可能因 API 版本而异。因此,无需自己明确设置固定高度或 minHeight,您就可以看到不同 API 版本的不同行为。

关于android - API 17 和 API 16 中的 RecyclerView 高度问题 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com