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

Posted

技术标签:

【中文标题】如何显示大于手机屏幕尺寸的图像?【英文标题】:How to display an image that is bigger than the phone screen dimensions? 【发布时间】:2012-02-02 20:56:47 【问题描述】:

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

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

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

<ScrollView...>

  <RelativeLayout ...>

    <Imageview ...>
    </Imageview>

  </RelativeLayout>

</ScrollView>

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

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

谢谢。

【问题讨论】:

您的 xml 太简短,无法评论。添加更多细节 【参考方案1】:

您可以指定scaleType 居中,ImageView 不缩放图像。

<ImageView  
    android:layout_ 
    android:layout_ 

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

您也可以使用HorizontalScrollView 水平滚动。

【讨论】:

这正是我一直在寻找的,我需要选择性地滚动,垂直或水平,以便导航一次绑定到一个轴。很有用。问候。【参考方案2】:

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

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

【讨论】:

以上是关于如何显示大于手机屏幕尺寸的图像?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 如何使 UIView 大于手机屏幕-我们可以让它的大小与图像大小相同然后缩小

如何解决不同屏幕尺寸下的相同dpi问题。

如何让网站适应不同尺寸的手机屏幕?

用VC++如何获取屏幕图像,且显示出来

如何使图像适应手机屏幕

如何让你的小游戏适配不同尺寸的手机屏幕