所以我创建了一个简单的小应用程序,在ImageSwitcher中包含相当高的图像,由于图像的高度,我将ImageSwitcher包装在ScrollView中(因此整个图像最终可见)。有趣的是,Image并不是从ScrollView的顶部开始,而是从底部开始。滚动一切正常,但我只是好奇为什么图像的顶部几乎位于设备屏幕的底部。
有谁知道造成这种行为的原因是什么?
我的图像是大型可绘制的(800x600),显然是为了适应设备窗口而按比例缩小,但这仍然无法解释为什么图像上方有如此大量的空白空间。
我更愿意只滚动ImageSwitcher本身但到目前为止还没有成功。
这是我的布局:
<ScrollView android:id="@+id/scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageSwitcher android:id="@+id/switcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"/>
</ScrollView>
答案 0 :(得分:1)
我怀疑是由于原始图像的分辨率而显示图像。我设置ImageView.setScaleType(ScaleType.FIT_START);
,这似乎解决了问题。
答案 1 :(得分:1)
除了setScaleType之外,尝试调用ImageView.setAdjustViewBounds(true)。如果ImageView(在ImageSwitcher内部)仍有问题需要占用更多空间,请尝试使用SDK工具中的hierarchyviewer查看ImageView。