android中scrollview内部组件android:layout_height="fill_parent"无效的解决办法

本文探讨了Android开发中遇到ScrollView组件内部LinearLayout无法扩展至全屏高度的问题,并通过设置ScrollView的fillViewport属性为true解决了此难题。提供了解决方案并展示了最终效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml version="1.0" encoding="utf-8"?>

<!-- 背景:蓝色 -->
<ScrollView android:layout_width="fill_parent"  android:id="@+id/scrollView1"
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_height="fill_parent" android:background="@color/solid_blue">

    <!-- 背景:黄色 -->
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" android:background="@color/solid_yellow">

        <TextView android:text="TextView" android:id="@+id/textView1"  
           android:layout_width="wrap_content" android:layout_height="fill_parent"  
           android:layout_weight="1">
        </TextView>

    </LinearLayout>
</ScrollView>

虽然我的所有组件都设置了android:layout_height="fill_parent",但是结果依然不能扩展到全屏高度,为了看到组件实际大小,我设置了布局组件的背景色,显示效果如下:

 很明显,scrollview(蓝色)已经扩展到最大高度了,但是其内部的linearlayout(黄色)却没有扩展.

 试了很多办法,就是没有办法让linearlaout组件扩大.

 最终,在一个国外的网站上,找到了答案,描述如下:

  

  ......

   Found the solution myself in the end. The problem was not with the LinearLayout,  but with theScrollView (seems weird, considering the fact that the ScrollView was expanding, while theLinearLayout wasn't).

The solution was to use android:fillViewport="true" on the ScrollView.

 

原文链接:

http://stackoverflow.com/questions/2599837/linearlayout-not-expanding-inside-a-scrollview

 

 

 

果然,需要设置scrollview的fillViewport属性为"true"才能使其子组件可以扩展!

效果:

 

向大虾们学习了!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值