为什么 ListView 项目不会增长以包裹其内容?

2024-01-30

我有一个相当复杂的 ListView,具有可变的列表项高度。在某些情况下,我需要在列表项中显示一个附加视图,该视图默认是隐藏的(View.GONE)。通过启用它(View.VISIBLE),列表项的高度会增加(或者至少应该如此)。

问题: 即使我将项目的根布局声明为wrap_content,以及项目中的每个组件fill_parent,我隐藏/显示的应该更改项目高度的视图只是在底部被切断,而不是其父级(项目布局)的高度增加以完全显示它。

是否有任何我可能错过的与 ListViews 和项目布局以及项目高度相关的问题?

更多观察结果:

出于测试目的,我现在已将列表项布局缩小为仅包含根 LinearLayout 和 ImageView。当我将 LinearLayout 高度设置为例如200dip和 ImageView 到fill_parent,我预计 ImageView 会增长,直到达到200dip由其父级设置的限制。

但是,图像的高度将仅与其位图资源一样高(就好像我已将其设置为wrap_content)并且整个列表项将具有相同的高度(即,就好像我也将其设置为wrap_content一样)。

但是,如果我将图像高度设置为例如200dip,那么列表项的高度将会增加,项目布局也会增加。

换句话说,layout_height列表项布局的高度被完全忽略,ImageView 上除硬编码像素值之外的任何高度值也是如此。


我设法解决了这个问题,但我不明白why.

正如我提到的,我已经设置了layout_height列表项布局的wrap_content (since fill_parent考虑到 ListView 的高度无限大,在这里毫无意义)。

然而,我已经设置了layout_height所有观点中inside该布局fill_parent。将它们设置为时问题就消失了wrap_content反而。

这提出了另外两个问题:

1)视图要求的语义是什么fill_parent,当父级wraps_content?哪种尺寸要求优先?

2)如果我如何让视图填充列表项fill_parent显然不起作用?

谢谢你们的意见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 ListView 项目不会增长以包裹其内容? 的相关文章

随机推荐

  • 如何逐行运行Linux程序

    我想使用一些调试器逐行运行 GTK C 程序 我从未调试过 Linux 程序 那么在哪里可以找到针对初学者如何调试代码的说明呢 我只是有一个想法 我必须从网上下载源代码 使用调试符号编译项目并通过 DDD 或 GDB 运行源代码 那么任何人
  • 切换当前元素的可见性

    我正在尝试写一个函数toggle active单击即可显示隐藏内容 再单击一次即可再次折叠内容 可悲的是 它不起作用 你能帮我修改一下吗 function toggle active this var x this nextSibling
  • XDebug 无法在 VScode 中进行 php 调试

    即使在所有配置之后 使用 xdebug 和 xampp 在 vscode 中进行 PHP 调试也无法正常工作 这是我的 php ini 文件配置 zend extension D Xampp php ext php xdebug 3 0 0
  • CakePHP 中页面别名的自动路由

    我正在使用 CakePHP 框架创建一个 CMS 通过 CMS 创建的每个页面都将有其唯一的 URL 别名 这还取决于虚拟文件夹结构 例如 www site com level 1 about us www site com level 2
  • 如何让 async/await 等待 Observable 返回

    对 Angular 相当陌生 并且在 Promises Observables 和 async await 方面遇到困难 我有一个功能需要当前用户详细信息来执行某些任务 为此 我编写了一个获取用户详细信息方法 该方法返回一个承诺 并且任务在
  • 来自 Pivot 的 Seaborn 热图中的数据顺序

    所以我有一个使用seaborn创建的热图 revels rd pivot Flavour Packet number Contents ax sns heatmap revels annot True fmt d linewidths 0
  • 为购物车项目和产品设置正确的 jpa 映射

    我正在通过一些例子学习jpa 涉及购物车和购物车物品 我将它们定义如下 但不太确定要使用哪个映射 Entity class Product private Long id private String name Entity class C
  • 如何在 Facebook 应用程序中添加画布和安全画布 URL

    我正在尝试开发 Facebook 教程 Friends Smash 但我遇到了一个大问题 它没有显示任何添加画布和安全画布 URL 的选项 设置 gt gt 添加平台 gt gt 网站 我得到以下选项 如何添加画布和安全画布 URL 画布和
  • 如何使用解析表证明左递归语法不在LL(1)中

    我有一个语法 想证明它不在 LL 1 中 S gt SA A A gt a 由于它是左递归语法 为了找到第一个和后续集合 我消除了左递归并得到 S gt AS S gt AS Empty A gt a first of A a follow
  • 将 DAO 与复合对象一起使用

    我正在尝试重写一堆 DAO 这里的设置是 仅纯 JDBC 无 JPA ORM 任何形式 没有使用任何接口 插入对象之前进行大量检查 业务对象紧密相连 我的主要问题是 如何持久 检索由多个其他对象组成的业务对象 例如我的 CustomerDA
  • NGRX - 如何计算商店中商品的属性

    我们在 Angular 应用程序中使用 NGRX 数据来自 API 某些属性以未格式化的字符串形式来自 API 因此我们需要对其进行格式化 当然 这可以在 HTML 中完成 但问题是在 HTML 和 TypeScript 中的多个位置都需要
  • ZF2 - 使用导航视图助手的多个导航菜单

    我正在尝试将主导航与子菜单结合使用以进行更具体的导航 In my layout我这样调用视图助手 this gt navigation main navigation gt menu 并在我的view我这样称呼它 this gt navig
  • 访问 Spark RDD 时闭包中局部变量的使用

    我有一个关于访问 Spark RDD 时闭包中局部变量的使用的问题 我想解决的问题如下 我有一个应该读入 RDD 的文本文件列表 但是 首先我需要向从单个文本文件创建的 RDD 添加附加信息 此附加信息是从文件名中提取的 然后 使用 uni
  • 将 ShapeRenderer.begin/end 嵌套在 SpriteBatch.begin/end 中

    是否可以使用绘制形状ShapeRenderer之间SpriteBatch begin and end calls 我已经尝试过 但没有结果 只绘制了 SpriteBatch 纹理 场景中没有形状 示例代码如下 shapeRenderer b
  • Objective-C 接口 - 声明变量与仅声明属性?

    在 Obj c 中 在 interface 中声明变量时 接口 NSObject 我的对象 我的对象 property 不安全 非原子 MyObject myObject 对比 仅将其声明为属性 接口 NSObject property 不
  • 通过 HTTP 回调函数进行 Google 地理编码?

    我想使用谷歌地理编码via HTTP在我的 AJAX Web 应用程序中将城市名称转换为经度和纬度的功能 但是 HTTP 地理编码器功能似乎不存在回调函数 http code google com apis maps documentati
  • 无法将操作提供者强制转换为共享操作提供者

    下面是我的活动的代码 import android app Activity import android os Bundle import android support v7 widget ShareActionProvider imp
  • Clojure 协议与 Scala 结构类型

    看完后里奇 希基的采访 http www infoq com interviews hickey clojure protocols on 协议 http clojure org protocols在 Clojure 1 2 中 对 Clo
  • 线程无异常地死亡

    我的一些工作线程遇到问题 我在线程的 run 方法中添加了一个包罗万象的异常语句 如下所示 try Runs the worker process which is a state machine while self set exitco
  • 为什么 ListView 项目不会增长以包裹其内容?

    我有一个相当复杂的 ListView 具有可变的列表项高度 在某些情况下 我需要在列表项中显示一个附加视图 该视图默认是隐藏的 View GONE 通过启用它 View VISIBLE 列表项的高度会增加 或者至少应该如此 问题 即使我将项