2012-07-16 97 views
1

我不明白为什么我无法将线性布局(蓝色轮廓)扩展为下图中的滚动视图的全部大小(红色,绿色和黑色区域) 。我尝试了重力和填充的不同组合,但没有运气。我错过了什么?Android线性布局不填充滚动视图

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:id="@+id/top_control_bar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <LinearLayout 
      android:id="@+id/linearLayout1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#111111" 
      android:orientation="vertical" > 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="60dip" 
       android:orientation="horizontal" > 

       <TextView 
        android:id="@+id/header" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="50" 
        android:background="#999999" 
        android:gravity="center" 
        android:text="Title" 
        android:textColor="#FFFFFF" 
        android:textSize="18sp" 
        android:textStyle="bold" /> 

      </LinearLayout> 
     </LinearLayout> 
    </RelativeLayout> 

    <LinearLayout 
     android:id="@+id/bottom_control_bar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:gravity="center" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:id="@+id/pagebar" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="#FFFF00" 
      android:gravity="bottom|center" 
      android:minHeight="70dip" 
      android:orientation="horizontal" > 

      <FrameLayout 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_marginRight="10dip" > 

       <ImageButton 
        android:id="@+id/b_p1" 
        android:layout_width="58dip" 
        android:layout_height="58dip" 
        android:layout_gravity="top" 
        android:layout_marginTop="5dip" 
        android:adjustViewBounds="true" 
        android:clickable="true" 
        android:focusable="true" 
        android:scaleType="fitCenter" 
        android:src="@drawable/ic_launcher" /> 

       <TextView 
        android:id="@+id/tv_p1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom|center" 
        android:clickable="false" 
        android:focusable="false" 
        android:text="page1" 
        android:textSize="10sp" /> 
      </FrameLayout> 




      <FrameLayout 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_marginRight="10dip" > 

       <ImageButton 
        android:id="@+id/b_p2" 
        android:layout_width="58dip" 
        android:layout_height="58dip" 
        android:layout_gravity="top" 
        android:layout_marginTop="5dip" 
        android:adjustViewBounds="true" 
        android:clickable="true" 
        android:focusable="true" 
        android:scaleType="fitCenter" 
        android:src="@drawable/ic_launcher" /> 

       <TextView 
        android:id="@+id/tv_p2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom|center" 
        android:clickable="false" 
        android:focusable="false" 
        android:text="page2" 
        android:textSize="10sp" /> 
      </FrameLayout> 




      <FrameLayout 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_marginRight="10dip" > 

       <ImageButton 
        android:id="@+id/b_p3" 
        android:layout_width="58dip" 
        android:layout_height="58dip" 
        android:layout_gravity="top" 
        android:layout_marginTop="5dip" 
        android:adjustViewBounds="true" 
        android:clickable="true" 
        android:focusable="true" 
        android:scaleType="fitCenter" 
        android:src="@drawable/ic_launcher" /> 

       <TextView 
        android:id="@+id/tv_p3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom|center" 
        android:clickable="false" 
        android:focusable="false" 
        android:text="page3" 
        android:textSize="10sp" /> 
      </FrameLayout> 





      <FrameLayout 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_marginRight="10dip" > 

       <ImageButton 
        android:id="@+id/b_p4" 
        android:layout_width="58dip" 
        android:layout_height="58dip" 
        android:layout_gravity="top" 
        android:layout_marginTop="5dip" 
        android:adjustViewBounds="true" 
        android:clickable="true" 
        android:focusable="true" 
        android:scaleType="fitCenter" 
        android:src="@drawable/ic_launcher" /> 

       <TextView 
        android:id="@+id/tv_p4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom|center" 
        android:clickable="false" 
        android:focusable="false" 
        android:text="page4" 
        android:textSize="10sp" /> 
      </FrameLayout> 


     </LinearLayout> 
    </LinearLayout> 

    <ScrollView 
     android:id="@+id/scrollView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@id/bottom_control_bar" 
     android:layout_below="@id/top_control_bar" 
     android:measureAllChildren="false" > 

     <LinearLayout 
      android:id="@+id/linlay1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="#770000" 
      android:clipChildren="true" 
      android:duplicateParentState="false" 
      android:fitsSystemWindows="false" 
      android:orientation="vertical" > 

      <LinearLayout 
       android:id="@+id/searchbar" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:minHeight="60dip" 
       android:orientation="horizontal" > 

       <EditText 
        android:id="@+id/query" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="left|center_vertical" 
        android:layout_marginLeft="5dip" 
        android:layout_marginRight="5dip" 
        android:layout_weight="20" 
        android:imeOptions="actionSearch" 
        android:lines="1" > 

        <requestFocus /> 
       </EditText> 

       <Button 
        android:id="@+id/btn_cancel" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right|center_vertical" 
        android:layout_weight="60" 
        android:drawablePadding="5dip" 
        android:gravity="center" 
        android:hapticFeedbackEnabled="true" 
        android:maxHeight="48dip" 
        android:minHeight="48dip" 
        android:text="Search" 
        android:textSize="12sp" 
        android:textStyle="bold" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/buttons" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:minHeight="60dip" 
       android:orientation="horizontal" > 

       <Button 
        android:id="@+id/btn_1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:layout_weight="60" 
        android:drawablePadding="5dip" 
        android:gravity="center" 
        android:hapticFeedbackEnabled="true" 
        android:maxHeight="48dip" 
        android:minHeight="48dip" 
        android:text="b1" 
        android:textSize="12sp" 
        android:textStyle="bold" /> 

       <Button 
        android:id="@+id/btn_2" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:layout_weight="60" 
        android:drawablePadding="5dip" 
        android:gravity="center" 
        android:hapticFeedbackEnabled="true" 
        android:maxHeight="48dip" 
        android:minHeight="48dip" 
        android:text="b2" 
        android:textSize="12sp" 
        android:textStyle="bold" /> 

       <Button 
        android:id="@+id/btn_3" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:layout_weight="60" 
        android:drawablePadding="5dip" 
        android:gravity="center" 
        android:hapticFeedbackEnabled="true" 
        android:maxHeight="48dip" 
        android:minHeight="48dip" 
        android:text="b3" 
        android:textSize="12sp" 
        android:textStyle="bold" /> 

       <Button 
        android:id="@+id/btn_4" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:layout_weight="60" 
        android:drawablePadding="5dip" 
        android:gravity="center" 
        android:hapticFeedbackEnabled="true" 
        android:maxHeight="48dip" 
        android:minHeight="48dip" 
        android:text="b4" 
        android:textSize="12sp" 
        android:textStyle="bold" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/picbar" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" > 

       <ImageView 
        android:id="@+id/imageView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:src="@android:drawable/toast_frame" /> 

      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/actionbar" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="10" 
       android:background="#007700" 
       android:orientation="horizontal" > 

       <Button 
        android:id="@+id/btn_warp" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="5dip" 
        android:layout_marginTop="5dip" 
        android:text="warp" 
        android:textSize="12sp" 
        android:textStyle="bold" /> 
      </LinearLayout> 

     </LinearLayout> 
    </ScrollView> 

</RelativeLayout> 
+3

尝试'机器人:fillViewport = “真”'在'ScrollView' – 2012-07-16 17:14:10

+0

太好了!这样做,非常感谢! – wufoo 2012-07-16 17:34:32

回答

2

我想你想这样

enter image description here

这里是更正后的代码

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

<RelativeLayout 
    android:id="@+id/top_control_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#111111" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="60dip" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/header" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_weight="50" 
       android:background="#999999" 
       android:gravity="center" 
       android:text="Title" 
       android:textColor="#FFFFFF" 
       android:textSize="18sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 
    </LinearLayout> 
</RelativeLayout> 

<LinearLayout 
    android:id="@+id/bottom_control_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:gravity="center" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/pagebar" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#FFFF00" 
     android:gravity="bottom|center" 
     android:minHeight="70dip" 
     android:orientation="horizontal" > 

     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginRight="10dip" > 

      <ImageButton 
       android:id="@+id/b_p1" 
       android:layout_width="58dip" 
       android:layout_height="58dip" 
       android:layout_gravity="top" 
       android:layout_marginTop="5dip" 
       android:adjustViewBounds="true" 
       android:clickable="true" 
       android:focusable="true" 
       android:scaleType="fitCenter" 
       android:src="@drawable/ic_launcher" /> 

      <TextView 
       android:id="@+id/tv_p1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom|center" 
       android:clickable="false" 
       android:focusable="false" 
       android:text="page1" 
       android:textSize="10sp" /> 
     </FrameLayout> 

     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginRight="10dip" > 

      <ImageButton 
       android:id="@+id/b_p2" 
       android:layout_width="58dip" 
       android:layout_height="58dip" 
       android:layout_gravity="top" 
       android:layout_marginTop="5dip" 
       android:adjustViewBounds="true" 
       android:clickable="true" 
       android:focusable="true" 
       android:scaleType="fitCenter" 
       android:src="@drawable/ic_launcher" /> 

      <TextView 
       android:id="@+id/tv_p2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom|center" 
       android:clickable="false" 
       android:focusable="false" 
       android:text="page2" 
       android:textSize="10sp" /> 
     </FrameLayout> 

     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginRight="10dip" > 

      <ImageButton 
       android:id="@+id/b_p3" 
       android:layout_width="58dip" 
       android:layout_height="58dip" 
       android:layout_gravity="top" 
       android:layout_marginTop="5dip" 
       android:adjustViewBounds="true" 
       android:clickable="true" 
       android:focusable="true" 
       android:scaleType="fitCenter" 
       android:src="@drawable/ic_launcher" /> 

      <TextView 
       android:id="@+id/tv_p3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom|center" 
       android:clickable="false" 
       android:focusable="false" 
       android:text="page3" 
       android:textSize="10sp" /> 
     </FrameLayout> 

     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginRight="10dip" > 

      <ImageButton 
       android:id="@+id/b_p4" 
       android:layout_width="58dip" 
       android:layout_height="58dip" 
       android:layout_gravity="top" 
       android:layout_marginTop="5dip" 
       android:adjustViewBounds="true" 
       android:clickable="true" 
       android:focusable="true" 
       android:scaleType="fitCenter" 
       android:src="@drawable/ic_launcher" /> 

      <TextView 
       android:id="@+id/tv_p4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom|center" 
       android:clickable="false" 
       android:focusable="false" 
       android:text="page4" 
       android:textSize="10sp" /> 
     </FrameLayout> 
    </LinearLayout> 
</LinearLayout> 

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_above="@id/bottom_control_bar" 
    android:layout_below="@id/top_control_bar" 
    android:fillViewport="true" 
    android:measureAllChildren="false" > 

    <LinearLayout 
     android:id="@+id/linlay1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#770000" 
     android:clipChildren="true" 
     android:duplicateParentState="false" 
     android:fitsSystemWindows="false" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:id="@+id/searchbar" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="60dip" 
      android:orientation="horizontal" > 

      <EditText 
       android:id="@+id/query" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_marginLeft="5dip" 
       android:layout_marginRight="5dip" 
       android:layout_weight="20" 
       android:imeOptions="actionSearch" 
       android:lines="1" > 

       <requestFocus /> 
      </EditText> 

      <Button 
       android:id="@+id/btn_cancel" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right|center_vertical" 
       android:layout_weight="60" 
       android:drawablePadding="5dip" 
       android:gravity="center" 
       android:hapticFeedbackEnabled="true" 
       android:maxHeight="48dip" 
       android:minHeight="48dip" 
       android:text="Search" 
       android:textSize="12sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/buttons" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="60dip" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/btn_1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical|center_horizontal" 
       android:layout_weight="60" 
       android:drawablePadding="5dip" 
       android:gravity="center" 
       android:hapticFeedbackEnabled="true" 
       android:maxHeight="48dip" 
       android:minHeight="48dip" 
       android:text="b1" 
       android:textSize="12sp" 
       android:textStyle="bold" /> 

      <Button 
       android:id="@+id/btn_2" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical|center_horizontal" 
       android:layout_weight="60" 
       android:drawablePadding="5dip" 
       android:gravity="center" 
       android:hapticFeedbackEnabled="true" 
       android:maxHeight="48dip" 
       android:minHeight="48dip" 
       android:text="b2" 
       android:textSize="12sp" 
       android:textStyle="bold" /> 

      <Button 
       android:id="@+id/btn_3" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical|center_horizontal" 
       android:layout_weight="60" 
       android:drawablePadding="5dip" 
       android:gravity="center" 
       android:hapticFeedbackEnabled="true" 
       android:maxHeight="48dip" 
       android:minHeight="48dip" 
       android:text="b3" 
       android:textSize="12sp" 
       android:textStyle="bold" /> 

      <Button 
       android:id="@+id/btn_4" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical|center_horizontal" 
       android:layout_weight="60" 
       android:drawablePadding="5dip" 
       android:gravity="center" 
       android:hapticFeedbackEnabled="true" 
       android:maxHeight="48dip" 
       android:minHeight="48dip" 
       android:text="b4" 
       android:textSize="12sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/picbar" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 

      <ImageView 
       android:id="@+id/imageView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:src="@android:drawable/toast_frame" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/actionbar" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="10" 
      android:background="#007700" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/btn_warp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dip" 
       android:layout_marginTop="5dip" 
       android:text="warp" 
       android:textSize="12sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 
    </LinearLayout> 
</ScrollView>