【问题标题】:ScrollView ignores child's layout_heightScrollView 忽略孩子的 layout_height
【发布时间】:2011-07-10 15:25:05
【问题描述】:

得到一个包含文本视图和编辑文本的线性布局。 LinearLayout 在 ScrollView 内。

ScrollView 在另一个视图层次结构中(工作空间布局的一部分,有点像 Android 主屏幕),但这会填充父级,包括高度和宽度(我设置了不同的填充颜色来检查这一点)。

虽然在 LinearLayout 上的 layout_height 和 layout_width 的 fill_parent 属性,它只是填充父宽度方式,而不是高度。将高度设置为固定也不起作用/无效。实际上,就好像它卡在了 wrap_content 上。

实际上,检查层次结构查看器,它被设置为 match_parent。奇怪的是,LL 的 weightsum 设置为 -1(在 Hierarchy Viewer 中); weightsum 没有明确设置。

如果我可以提供任何进一步的信息来弄清楚为什么它不尊重 layout_height 属性,请告诉我:)

提前致谢。

【问题讨论】:

  • 如果你能添加你的xml布局会更容易帮助。

标签: android layout scrollview


【解决方案1】:

ScrollView 具有无限的高度(或由其子项的需要决定的高度),因此layout_height="fill_parent" 对其中的视图没有意义。

编辑 - Romain Guy 对此有一个interesting article,解决方案确实是使用fillViewport

尝试在 ScrollView 本身的 xml 中设置它:android:fillViewport="true"

【讨论】:

  • 非常感谢:] 也为链接干杯,非常有趣的阅读:}
【解决方案2】:

对我来说,这听起来有点麻烦(一团糟:P)

但我要说的是使用 fillViewPort 属性,这将使 ScrollView 占据可用的高度Android fillViewPort Docs

但是,如果您想要类似于主屏幕的东西,我找到了一种强制视图采用该精确高度的方法(请参阅股票 Android 新闻应用程序、Tweetdeck 或 Admob [beta] 以了解我所指的滑动效果) .

如果是这种情况,请告诉我,我会用一些源代码来做。

【讨论】:

  • 谢谢,我已经有一个模拟主屏幕的视图了
猜你喜欢
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
相关资源
最近更新 更多