获得包含textview和edittext的LinearLayout。 LinearLayout位于ScrollView内。
ScrollView位于另一个视图层次结构中(工作区布局的一部分,比如Android主屏幕类型),但这会填充父级,包括高度和宽度(我设置填充颜色不同以检查此内容)。
虽然在LinearLayout上使用layout_height和layout_width的fill_parent属性,但它只填充父宽度 - 而不是高度。将高度设置为固定也不起作用/没有效果。这就像它实际上停留在wrap_content一样。
实际上,检查层次结构查看器时,它被设置为match_parent。奇怪的是,LL的权重设置为-1(在层次结构查看器中);权重未明确设置。
如果有任何进一步的信息我可以提供,以弄清楚为什么它不尊重layout_height属性,请告诉我:))
提前致谢。
答案 0 :(得分:21)
ScrollView具有无限高度(或高度由其子项的需求决定),因此layout_height="fill_parent"
对其中的视图没有意义。
修改 - Romain Guy对此有一个interesting article,解决方案确实是使用fillViewport
。
尝试在xml:android:fillViewport="true"
答案 1 :(得分:1)
这听起来像是一个麻烦的布局(一团糟:P)
但我要说的是使用fillViewPort属性,这将使ScrollView占用可用的高度Android fillViewPort Docs
如果你想要类似于主屏幕的东西,我发现了一种方法来强制视图采取那个确切的高度(请参阅股票Android新闻应用程序,Tweetdeck或Admob [beta]我所指的滑动效果)
如果是这种情况,请告诉我,我会打算执行一些源代码。