在Scrollview中增加LinearLayout,以便在Android上使用更大的手机

时间:2014-07-24 02:36:28

标签: android xml android-layout layout

我有一个完整屏幕的Scrollview,所以在小型手机中你可以滚动并查看完整的表格。

对于大屏幕/ hdpi手机,屏幕尺寸足够适合。

问题在于,由于它是一个LinearLayout,所有视图都位于顶部,底部有空白区域。

我在线性布局中的一个项目上设置了权重,但它没有增长。

我的代码:

  <ScrollView>
       <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <RelativeLayout
                 android:id="@+id/header"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="vertical" >
                 HEADER STUFF
            </RelativeLayout>


             <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" > 
           THIS PART I NEED TO GROW AS MUCH AS POSSIBLE SO THE FOOTER IS AT THE BOTTOM OF THE PAGE.
          </RelativeLayout>


        <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/LightBlue"
        android:orientation="vertical"
        android:paddingBottom="10dp" >
            FOOTER STUFF.  NEED THIS TO BE AT THE FOOTER IF THE PHONE IS BIG ENOUGH. 
            </RelativeLayout>
       <LinearLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:-1)

简单回答:在LinearLayout中,将android:layout_height="wrap_content"更改为android:layout_height="match_parent"

原因:通过包装内容,您不会给具有最大权重的中间RelativeLayout提供增长和填充空白区域的机会。改变它以匹配父高度,可以说它有开花的空间。

另外,根据Indiandroid的评论,您可能希望将ScrollView放在LinearLayout内部以及托管内容的中间RelativeLayout周围,以便修改页眉和页脚。

编辑:如果您打算通过使用LinearLayout中的权重来拉伸中间的RelativeLayout,那么在应用我之前关于将高度切换为match_parent的部分之后,您必须转到在中间RelativeLayout周围的LinearLayout内的ScrollView或它将无限增长。这是因为ScrollView没有垂直边界,并且通过将它的高度与LinearLayout匹配,LinearLayout也没有边界。