如何使我的linearlayout高度wrap_content而不是match_parent?

时间:2014-01-08 16:49:33

标签: android xml android-layout

我正在尝试在此布局中创建图像(使用id itemslayout)包装图像而不是匹配父高度。图像视图似乎不听我的XML代码!解决办法是什么。这是XML:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/pullupTitleBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/orange"
        android:orientation="vertical" >

        <xx.xxxxxx.xxxxx.android.ui.views.CustomTextView
            android:id="@+id/someTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_margin="10dp"
            android:text="@string/lolperks"
            android:textColor="@color/white"
            android:textSize="22sp" />

        <Button
            android:id="@+id/upanddownButton"
            style="@style/OrangeSmallButton"
            android:layout_width="37dp"
            android:layout_height="34dp"
            android:layout_gravity="right"
            android:layout_marginRight="6dp"
            android:layout_marginTop="6dp"
            android:background="@drawable/double_arrows"
            android:contentDescription="UpButton"
            android:onClick="downButtonClicked"
            android:scaleY="-1"
            android:text=" " />
    </FrameLayout>

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


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

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:text="pick a card any card "
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <LinearLayout
                android:id="@+id/itemslayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="10dp"
                    android:layout_weight="0.333" >

                    <ImageView
                        android:id="@+id/ImageView02"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:src="@drawable/card" />
                </FrameLayout>

                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="10dp"
                    android:layout_weight="0.333" >

                    <ImageView
                        android:id="@+id/ImageView01"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:src="@drawable/card" />
                </FrameLayout>

                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.333"
                    android:layout_margin="10dp" >

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:src="@drawable/card" />

                </FrameLayout>

            </LinearLayout>

        </LinearLayout>

    </ScrollView>

</LinearLayout>

这是正在发生的事情的屏幕截图。我需要它包装不匹配父母的图像。 wrap_content

我想要的是什么:

enter image description here

1 个答案:

答案 0 :(得分:1)

我知道这可能听起来令人困惑,但是尝试在最外层布局中放置一个布局并将高度设置为wrap_content。使用布局,它会导致内部的所有内容包装内容,而不是使实际布局执行此操作。您需要此缓冲区布局,以便最外层布局仍将填满整个屏幕。

<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:orientation="vertical" >

 <LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_alignParentLeft="true"
 android:layout_alignParentRight="true"
 android:orientation="vertical" >

<FrameLayout
    android:id="@+id/pullupTitleBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/orange"
    android:orientation="vertical" >

    <xx.xxxxxx.xxxxx.android.ui.views.CustomTextView
        android:id="@+id/someTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="10dp"
        android:text="@string/lolperks"
        android:textColor="@color/white"
        android:textSize="22sp" />

    <Button
        android:id="@+id/upanddownButton"
        style="@style/OrangeSmallButton"
        android:layout_width="37dp"
        android:layout_height="34dp"
        android:layout_gravity="right"
        android:layout_marginRight="6dp"
        android:layout_marginTop="6dp"
        android:background="@drawable/double_arrows"
        android:contentDescription="UpButton"
        android:onClick="downButtonClicked"
        android:scaleY="-1"
        android:text=" " />
</FrameLayout>

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >


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

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="pick a card any card "
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <LinearLayout
            android:id="@+id/itemslayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="0.333" >

                <ImageView
                    android:id="@+id/ImageView02"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:src="@drawable/card" />
            </FrameLayout>

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="0.333" >

                <ImageView
                    android:id="@+id/ImageView01"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:src="@drawable/card" />
            </FrameLayout>

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.333"
                android:layout_margin="10dp" >

                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:src="@drawable/card" />

            </FrameLayout>

        </LinearLayout>

    </LinearLayout>

</ScrollView>