2012-09-10 132 views
1

我注意到,当显示图像在我的ImageView中自动缩小以适合窗口时,它们在图像的上方和下方至少添加了50%的填充,即使缩放后的ImageView图像占用小于可见屏幕的1/4。显示不带调整大小的图像时,不会发生这种情况。ImageView有过多的垂直填充

为什么会发生这种情况,我该如何解决这个问题?

如果它的事项,顶层布局是一个LinearLayout包含ScrollView,包括以下ImageView

<ImageView 
    android:id="@+id/image" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 

这究竟是为什么?

回答

5

您必须告诉Android,您希望View的边界在缩放完成后发生变化。

这是使用android:adjustViewBounds="true"完成的。

+0

该死的,另一个恼人的Android bug。根据文档,这是为了保持drawable的长宽比。图像已经以正确的宽高比进行缩放,它只是填充顶部和底部,就好像它没有缩放一样。无论哪种方式,为什么他们不会让这个设置默认为“真”? –

+1

是的,它也保留了容器的长宽比。它被设置为“false”,这样不必要的空白就不会在一个方向缩放的图像周围被处理......至少,这是我的猜测。 ;) – Eric

+1

这是后人有关的Android问题:[可能的ImageView测量错误](http://code.google.com/p/android/issues/detail?id=20296), –