1

我有一个简单的布局,但遇到了 Jelly Bean 和 Froyo 之间的区别。在 Jelly Bean 上,我已按高度ImageView匹配其父级 ( )。FrameLayout但在 Froyo 上却不是。请看一下布局结构:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <FrameLayout
        android:id="@+id/fl"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/image_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/profile_data_background_im"
            android:scaleType="fitXY"/>

        <LinearLayout
            android:id="@+id/ll"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Test text"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Test text"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Test text"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Test text"/>

        </LinearLayout>

        </FrameLayout>

</LinearLayout>

所以我在 Jelly Bean 上拥有的东西(正如预期的那样):

在此处输入图像描述

这是我在 Froyo 上的内容:

在此处输入图像描述

请告知如何ImageView填充其父级,因为它适用于 Jelly Bean。非常感谢。

4

3 回答 3

1

我最近才遇到同样的现象。在查看了 Android 源代码和子类视图(例如查看FrameLayout将传递给其子级的值)之后,很明显这是一个错误。

有关完整的描述解决方法,请参见此处。

元注释:感谢 StackOverflow 审阅者投票支持将我的原始答案转换为评论,然后反对将此问题标记为重复。现在这就是你得到的。;)

于 2013-04-19T12:25:56.667 回答
0

将您FragmentLayout的设置layout_heightmatch_parent.

您的 XML 代码应如下所示

<FrameLayout
        android:id="@+id/fl"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
于 2013-04-19T11:56:52.630 回答
0

你为什么不把它profile_data_background_im Drawable作为你的背景@+id/ll LinearLayout?无论如何,奇怪的布局组合。

于 2013-04-19T11:59:22.503 回答