2013-08-06 44 views
1

我使用的图像说85x85像素(投入绘制-MDPI这个图片)如何根据移动

和MDPI,华电国际和屏幕大小调整位图图像,如果我显示85x85像素的这一形象在[320x480] mdpi屏幕尺寸设备上它看起来不错, ,但在[480x800] mdpi设备上显示此图像时,它看起来非常小。

我想知道我怎么可以调整(85x85像素)的这一形象,使其正常工作具有屏幕宽度和为480x800的高度,MDPI设备。

+0

如果你使用这些图像作为绘制资源,并通过指定的宽度和屏幕高度的百分比确定它们的视图大小,你可以把这个图像中的'hdpi'文件夹和框架将自动缩放它对你来说(这当然取决于你使用的Android版本和你选择的实现)。 – g00dy

+0

看看这里:http://developer.android.com/design/style/iconography.html – LuckyMe

回答

2

必须设置图片大小在DP的XML。 This帖子真的很有帮助。

+0

其实我在画布上使用这些图像,所以,我怎么可以设置在XML中的图像大小,因为没有使用xml文件,同时使用画布。 –

0

将图像放在/ drawable中,并将图像的大小定义为85dp,然后将其缩放为LDPI/HDPI/XHDPI/XXHDPI并禁止XXXHDPI。

但是,更好的解决方案是分别生成HDPI(128px)/ XHDPI(170px)/ XXHDPI(255px)版本的图形并分别放入/ drawable-hdpi,/ drawable-xhdpi,/ drawable-xxhdpi。通过这种方式,您可以为用户提供最佳体验。


[编辑]

DP”是Android的限定物理尺寸的UI对象的方式,所以48x48dp的按钮将具有大致相同的物理尺寸即使当运行屏幕尺寸在240x320到1080x1920之间,更多信息请查阅Android开发者网站的Supporting Multiple Screens

[编辑2]

对于在画布上,你可以用它来计算图像的缩放大小的图像:

DisplayMetrics dm = new DisplayMetrics(); 
context.getWindowManager().getDefaultDisplay().getMetrics(dm); 
int newSize = (int)(85 * (dm.densityDpi/160f)); 
+0

{85 * dp *}的含义是什么?它没有SENCE –

+0

@dineshsharma添加回复我的回答 – Kai

+0

我关心的是,在85 * DP * *是,就是这样我才知道什么是DP和SP误导性的东西。现在你已经使它85dp问题解决了:) –

1

考虑MDPI图像(让说,85x85)为基线创建图像如下

FOLDERIMAGESIZE百分比

LDPI 64×64的基线

75%MDPI 85x85 100%基线

HDPI 127x127的基线

150%XHDPI 170x170 200的基线

+0

我做你说的话同样的事情,创造64×64的LDPI,85x85为MDPI,127x127对华电国际的形象,其实我在画布上使用这些图像和所有看起来不错,但在使用上运行模拟器我的项目( 5.1“WVGA,屏幕5.1”,480x800大mdpi),气泡图像看起来非常小,与设备的大小相比。 –

0

更好的解决方案这是生成LDPI,MDPI,HDPI,XHDPI,XXHDPI大小的图像并将其放置在相应的文件夹内。

+0

我做你说的话同样的事情,创造64×64的LDPI,85x85为MDPI,127x127对华电国际的形象,其实我在画布上使用这些图像和所有看起来不错,但在使用上运行模拟器我的项目( 5.1“WVGA,屏幕5.1”,480x800大mdpi),气泡图像看起来非常小,与设备的大小相比。 –

+0

重新调整图像大小尝试到极限 –