Android 以不同大小显示图像

Android 以不同大小显示图像,android,android-layout,Android,Android Layout,根据我对Android支持多屏幕的理解,布局是根据屏幕密度和大小进行缩放的,而图像是根据屏幕密度进行缩放的 这样可以确保图像在不同密度的屏幕上显示相同的大小。为了克服可能的缩放问题,建议提供不同版本的图像,四个广义密度之间的缩放比为3:4:6:8 但是,如果我有一个屏幕,它只是在下面显示一张带有一些文本的照片,我想利用一些手机的额外屏幕尺寸,因此从用户的角度来看,显示照片的尺寸要比在较小的屏幕上大,那么最好的方法是什么 同样,wrt显示图像时,是否最好使用wrap_内容或dp–两者相比有什么优势

根据我对Android支持多屏幕的理解,布局是根据屏幕密度和大小进行缩放的,而图像是根据屏幕密度进行缩放的

这样可以确保图像在不同密度的屏幕上显示相同的大小。为了克服可能的缩放问题,建议提供不同版本的图像,四个广义密度之间的缩放比为3:4:6:8

但是,如果我有一个屏幕,它只是在下面显示一张带有一些文本的照片,我想利用一些手机的额外屏幕尺寸,因此从用户的角度来看,显示照片的尺寸要比在较小的屏幕上大,那么最好的方法是什么

同样,wrt显示图像时,是否最好使用wrap_内容或dp–两者相比有什么优势

非常感谢


p

在回答第一个问题时: 您可能需要为要执行的每个图像指定不同的可绘制资源。这里有一个指向android开发者网站的链接,指定了实现这一点的方法

第二: 如果指定dp,可能会导致一些图像失真,但是,如果使用wrap_内容,它可能不够大。我建议您为每个屏幕密度使用具有不同可绘制性的wrap_内容

编辑:

要查找实际尺寸,请执行以下操作:
Display Display=getWindowManager().getDefaultDisplay();int width=display.getWidth();int height=display.getHeight()

你必须根据屏幕密度来计算


然后使用毫米或英寸

非常感谢您的回答,但请回答第一个问题,该链接似乎只描述了为不同屏幕密度提供图像,以便在不同密度的屏幕上以相同大小显示图像。我看不到任何地方能提出一个解决方案,希望在更大的屏幕上以更大的尺寸显示图像(无论密度如何)?感谢您可以使用mm或in来根据屏幕的实际大小指定一些内容,尽管我不推荐这样做。您可以使用以下命令找到屏幕的实际大小:Display Display=getWindowManager().getDefaultDisplay();int width=display.getWidth();int height=display.getHeight();您必须根据像素和屏幕密度计算英寸。