2012-06-08 40 views
1

我试图找出在ImageView中显示54个位图中的1个的最佳方法。我想我可以从资产中加载位图。但我无法弄清楚如何调整它的大小。当它从XML文件加载它时,它会选择3个不同大小的其中一个不同的位图。Android如何在ImageView中显示54张卡片图像中的1张

我不知道如何确定使用什么大小的位图。我知道如何获得视图的宽度和高度,但不是整个屏幕。有没有办法获得屏幕分辨率?

所有我知道如何设置ImageView的位图属性,但我找不到任何缩放。有没有办法缩放它,或者我需要一个单独的位图用于不同的屏幕尺寸?

这似乎应该是简单的,但变成一件很复杂的,

有没有办法让屏幕分辨率? 我可以缩放位图吗?ImageView显示? 有没有更简单的方法来做到这一点?

回答

2

你有一大堆的问题在这里,我不是你实际上想要做清楚,但答案给你最后一次问的问题是:

“有什么办法得到的屏幕分辨率?“

当然...

getWindowManager().getDefaultDisplay().getWidth() 
getWindowManager().getDefaultDisplay().getHeight() 

”我可以缩放位图的ImageView显示?“

ImageView只是一个容器,所以如果你设置它的宽度和高度,然后将Bitmap加载到容器中,它们将缩放到该宽度和高度。

如果您将其layout_width和layout_height设置为wrap_content而不是特定的尺寸,那么它将符合图像的任何尺寸(并随着不同位图加载而增大和缩小)。如果您担心不同的屏幕,则需要将图像放入不同的文件夹(使用相同的名称),以便按照以下文档:http://developer.android.com/guide/practices/screens_support.html

可以按照您喜欢的任何方式手动缩放位图以及使用矩阵。这有点复杂,因此,在你澄清你的答案并表达实际需要之前,我不会冒险给出例子。

+0

嗨谢谢你回答我的问题。您声明我可以在不同尺寸的不同文件夹中显示相同的图像。我假设你的意思是res文件夹中的drawable-large,drawable-med和drawable-small。我有以下代码片段来从资源文件夹加载图片 –

相关问题