ScrollView忽略子项的layout_height

时间:2011-03-07 20:33:50

标签: android layout scrollview

获得包含textview和edittext的LinearLayout。 LinearLayout位于ScrollView内。

ScrollView位于另一个视图层次结构中(工作区布局的一部分,比如Android主屏幕类型),但这会填充父级,包括高度和宽度(我设置填充颜色不同以检查此内容)。

虽然在LinearLayout上使用layout_height和layout_width的fill_parent属性,但它只填充父宽度 - 而不是高度。将高度设置为固定也不起作用/没有效果。这就像它实际上停留在wrap_content一样。

实际上,检查层次结构查看器时,它被设置为match_parent。奇怪的是,LL的权重设置为-1(在层次结构查看器中);权重未明确设置。

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

提前致谢。

2 个答案:

答案 0 :(得分:21)

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

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

尝试在xml:android:fillViewport="true"

中的ScrollView本身上进行设置

答案 1 :(得分:1)

这听起来像是一个麻烦的布局(一团糟:P)

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

如果你想要类似于主屏幕的东西,我发现了一种方法来强制视图采取那个确切的高度(请参阅股票Android新闻应用程序,Tweetdeck或Admob [beta]我所指的滑动效果)

如果是这种情况,请告诉我,我会打算执行一些源代码。