ScrollView属性fillViewport解决android布局不能撑满全屏的问题

http://www.2cto.com/kf/201208/148262.html
ScrollView中的组件设置android:layout_height="fill_parent"不起作用的解决办法

在ScrollView中添加一个Android:fillViewport="true"属性就可以了。顾名思义,这个属性允许 ScrollView中的组件去充满它。 当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(不论它是否设了"fill_parent"),而如果LinearLayout的元素设置了fill_parent,那么也是不管用的,因为LinearLayout依赖里面的元素,而里面的元素又依赖LinearLayout,这样自相矛盾.所以里面元素设置了fill_parent,也会当做wrap_content来计算.

例子,在ScrollView下加入的组件,无论如何也不能自动扩展到屏幕高度。

布局文件。

 
 
    android:id="@+id/scrollView1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#0000ff" > 
 
     
 
            android:id="@+id/linearLayout1" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:background="#00ff00" > 
 
                    android:id="@+id/textView1" 
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent" 
            android:layout_weight="1" 
            android:text="Hello Android." > 
         
     
 
 

效果图。

ScrollView属性fillViewport解决android布局不能撑满全屏的问题_第1张图片
尽管已经设置了android:layout_height="fill_parent",但是,整个LinearLayout和TextView还是不能充满整个屏幕。


解决办法。

在ScrollView中添加一个android:fillViewport="true"属性就可以了。顾名思义,这个属性允许ScrollView中的组件去充满它。


修改后的效果图。

  ScrollView属性fillViewport解决android布局不能撑满全屏的问题_第2张图片

你可能感兴趣的:(Android项目开发小知识)