2014-01-16 32 views
0

在我的应用程序中,我有一个与以下layot行动。我有layout_weight prpr。当我使用嵌入在容器中的视图的权重时,它也具有权重参数,但这不起作用。它可能使用嵌入式视图重量在Android?嵌入的意见layout_weight

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:weightSum="10" > 

    <RelativeLayout 
     android:id="@+id/headerLayout" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_gravity="top" 
     android:layout_weight="1" 
     android:background="@color/header_color" 
     android:orientation="horizontal" > 

     <View 
      android:id="@+id/main_backView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:background="@null" /> 

     <ImageButton 
      android:id="@+id/menuBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/appNameText" 
      android:layout_alignParentLeft="true" 
      android:layout_alignTop="@+id/appNameText" 
      android:layout_centerVertical="true" 
      android:layout_gravity="left" 
      android:layout_marginLeft="30px" 
      android:background="@null" 
      android:scaleType="fitCenter" 
      android:src="@drawable/menu" 
      tools:ignore="ContentDescription" /> 

     <TextView 
      android:id="@+id/mapClickText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="30px" 
      android:text="@string/map_text" 
      android:textColor="@android:color/white" 
      android:textSize="21sp" /> 

     <TextView 
      android:id="@+id/appNameText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:text="@string/app_name" 
      android:textColor="@android:color/white" 
      android:textSize="21sp" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_gravity="center" 
     android:layout_weight="8" > 

     <ScrollView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:fillViewport="true" > 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:weightSum="10" > 

       <RelativeLayout 
        android:id="@+id/imagePager" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_gravity="top" 
        android:layout_weight="4" 
        android:background="@android:color/white" > 

        <mobi.esys.custom_components.AutoSwitchPager 
         android:id="@+id/pager" 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" /> 

        <com.viewpagerindicator.CirclePageIndicator 
         android:id="@+id/indicator" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_alignParentBottom="true" 
         android:layout_centerHorizontal="true" 
         android:layout_marginBottom="20px" 
         android:padding="2px" /> 

        <TextView 
         android:id="@+id/bannerText" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerHorizontal="true" 
         android:layout_centerVertical="true" 
         android:textColor="@android:color/white" 
         android:textSize="21sp" /> 
       </RelativeLayout> 

       <RelativeLayout 
        android:id="@+id/suggestIndicator" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_gravity="center" 
        android:layout_weight="1" 
        android:background="@color/suggestions_indicator_color" > 

        <TextView 
         android:id="@+id/suggAmount" 
         android:layout_width="60px" 
         android:layout_height="match_parent" 
         android:layout_alignParentLeft="true" 
         android:layout_centerVertical="true" 
         android:layout_marginLeft="30px" 
         android:background="@drawable/circle" 
         android:gravity="center" 
         android:textColor="@color/suggestions_indicator_color" 
         android:textSize="21sp" /> 

        <TextView 
         android:id="@+id/suggText" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentTop="true" 
         android:layout_marginLeft="10px" 
         android:layout_marginTop="6px" 
         android:layout_toRightOf="@+id/suggAmount" 
         android:text="@string/sugg" 
         android:textColor="@android:color/white" 
         android:textSize="16sp" 
         android:textStyle="bold" /> 

        <TextView 
         android:id="@+id/suggVisitText" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignBottom="@+id/suggAmount" 
         android:layout_marginLeft="10px" 
         android:layout_toRightOf="@+id/suggAmount" 
         android:textColor="@android:color/white" 
         android:textSize="12sp" /> 

        <ImageButton 
         android:id="@+id/arrowBtn" 
         android:layout_width="30px" 
         android:layout_height="40px" 
         android:layout_alignParentRight="true" 
         android:layout_centerVertical="true" 
         android:layout_marginRight="30px" 
         android:background="@null" 
         android:scaleType="fitXY" 
         android:src="@drawable/arrow" /> 
       </RelativeLayout> 

       <GridLayout 
        android:id="@+id/whereTab" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="5" 
        android:columnCount="2" > 
       </GridLayout> 
      </LinearLayout> 
     </ScrollView> 
    </RelativeLayout> 

    <ImageView 
     android:id="@+id/logoImage" 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_gravity="bottom" 
     android:layout_weight="1" 
     android:scaleType="fitXY" 
     android:src="@drawable/logo" 
     tools:ignore="ContentDescription" /> 

</LinearLayout> 

回答

3

重量机制分配任何第一布局传递之后残留在父线性布局空间。 A wrap_content布局没有任何剩余空间。对于它的价值,ScrollView不适用于match_parent高度。

+0

有没有办法在ScroollView中做到这一点? –

+0

要做什么?如果你需要滚动,相对于屏幕尺寸来说,确定事物的大小是没有意义的。只需让组件占用他们需要的任何空间,即'wrap_content'。如果滚动视图不总是大于屏幕,请使用'android:fillViewPort =“true”'属性。 – laalto