3

在我的布局中,我有一个 FrameLayout,其中包含 2 个 ImageView。一次显示一个 ImageView,ImageView 之间的变化是通过 3D Rotation 动画完成的。

<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 的宽度和高度如何与 ImageView 的相同?

4

2 回答 2

0

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

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

于 2012-08-23T06:28:31.167 回答
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>
于 2017-10-23T19:53:49.953 回答