ScrollView和layout_weight =“1”?

时间:2012-05-17 11:56:25

标签: android scrollview

我在ScrollView下有广告布局。为了防止ScrollView重叠的广告布局,我必须使用

<ScrollView 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" //          <--- THIS!
            >
                //...scrollview content
</ScrollView>

<include layout="@layout/ads_468x60"/>

如果宽度和高度都设置为layout_weightfill_parent的含义是什么?

根据文档,这不应该起作用,或者确切地说,如果layout_heightlayout_width都设置为0dp以外,则忽略layout_weight。但是,在此示例中,如果android:layout_weight="1"内没有属性ScrollView,则无法显示底层广告布局。

3 个答案:

答案 0 :(得分:3)

使用android:layout_height =“0dp”

android:layout_weight =“1”告诉布局管理器填充所有可用空间。

答案 1 :(得分:1)

在您的情况下,layout_weight可以使您的视图小于而不是已定义(fill_parent),并且它会缩小以适应可用的屏幕空间。权重指示如何相对于彼此改变一个或多个组件的大小。在您的情况下,您只有一个重量视图。使用0dp被认为更快,因为系统需要测量更少。

答案 2 :(得分:0)

layout_weight用于想要动态决定宽度或高度的情况,所以当你说layout_height =&#34; 0dp&#34;时。 它实际上现在依赖于layout_weight属性来做出正确的决定。 因此,通过在父布局上设置权重属性,您可以通过提供layout_weight来相应地在子布局上分配权重。

在layout_weight上找到这个家伙的答案和说明: Android Layout Weight