将FrameLayout高度与ImageView匹配

时间:2012-08-23 06:22:56

标签: android height imageview android-framelayout

在我的布局中,我有一个包含2个ImageView的FrameLayout。一次显示一个ImageView,ImageViews之间的更改通过3D旋转动画完成。

<FrameLayout
            android:id="@+id/animContainer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp" >

            <ImageView
                android:id="@+id/picture1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:clickable="true"
                android:focusable="true"
                android:src="@drawable/malware" />

            <ImageView
                android:id="@+id/picture2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:clickable="true"
                android:focusable="true"
                android:src="@drawable/browsing"
                android:visibility="gone" />
        </FrameLayout>

我的xml的问题是它在FrameLayout中的ImageView上方和下方留下了一些空白空间,即使我没有指定任何顶部或底部边距/填充。 我在FrameLayout中使用的ImageViews具有相同的高度。 我希望FrameLayout的高度与其中的ImageViews的高度完全相同。 我该如何实现这一目标? 谢谢。

编辑: 我观察到的另一件事是在横向模式下,空白空间被添加到ImageViews的左侧和右侧,并且FrameLayout的宽度与ImageViews的宽度不匹配。 如何使FrameLayout的宽度和高度与ImageViews的宽度和高度相同?

2 个答案:

答案 0 :(得分:0)

我认为你需要使用android:adjustViewBounds =“true” - &gt;在你的ImageView中......这会将imageview的大小调整为内部的图像,并希望能解决你的问题。

http://developer.android.com/reference/android/widget/ImageView.html#attr_android:adjustViewBounds

答案 1 :(得分:0)

我想我找到了一个解决方案,在我的手中我不得不在右下角放置一个图像用于删除图标但是必须跳过箍以使X的边缘与照片的顶部对齐。 fitCenter将在顶部和底部创建空白。 fitStart就像一个魅力。

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/front_right"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="top"
        android:scaleType="fitStart"
        android:adjustViewBounds="true"
        android:onClick="imageEditClicked"
        android:src="@drawable/myimage"/>

    <ImageView
        android:id="@+id/front_right_x"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@color/white"
        android:layout_gravity="end|top"
        android:clickable="true"
        android:focusable="true"
        app:srcCompat="@drawable/com_facebook_tooltip_black_xout" />

</FrameLayout>