嵌入式视图layout_weight

时间:2014-01-16 10:17:00

标签: android

在我的应用程序中,我有一个跟随layot的行为。我有layout_weight的问题。当我使用具有嵌入容器中的视图的权重时,也具有权重参数,这种方法的效果不起作用。 Android中是否可以使用嵌入式视图权重?

<?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>

1 个答案:

答案 0 :(得分:3)

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