如何显示大于手机屏幕尺寸的图像?

时间:2012-02-02 20:56:47

标签: android layout view scrollview android-canvas

我有一个问题,我没有找到真正的一致答案。 这就是我与你们联系的原因。

我一直试图在以下意义上为我的应用程序实现'取景器'效果:

我有一张巨大的画面,我希望能够“飞过”(水平和垂直滚动直到我到达边界)。到目前为止,对此(或类似问题)的所有流行答案都是使用类似这样的模式:

<ScrollView...>

  <RelativeLayout ...>

    <Imageview ...>
    </Imageview>

  </RelativeLayout>

</ScrollView>

这对我不起作用,因为它缩小我想要保持原始 BIG 大小的图片,以便我可以让用户导航在它上面。

我想我的问题归结为: 如果可能的话,如何使用Android视图和布局获取Google地图滚动功能...如果没有,您有建议吗?我应该更多地采用2D Canvas操作吗?

谢谢。

2 个答案:

答案 0 :(得分:4)

您可以指定scaleTypeImageView居中,以免缩放图片。

<ImageView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    android:scaleType="center"
    android:src="@drawable/myImage" /> 

此外,您可以使用HorizontalScrollView水平滚动。

答案 1 :(得分:1)

小心尝试将大图像完全加载到RAM中 - 记住,只允许20MB左右(取决于设备)的位图内存。

如果您可以以某种方式将图像分解为图块,则可以使用2D滚动类here来显示它。