2012-02-10 115 views
1

我有一个平板电脑摩托罗拉xoom与1280*800我在我的项目中的可绘制文件夹中有一个图像,当我检查该图像的大小时,它显示1280*755,但是当我在我的项目中使用此图像。平板电脑分辨率问题

并调试它知道它的大小显示853*503,显然它不适合tablet.i已附加在这里的照片也。

我使用以下代码获取宽度和高度。

BitmapDrawable bd=(BitmapDrawable)this.getResources().getDrawable(R.drawable.fish_normal); 
int height=bd.getBitmap().getHeight(); 
int width=bd.getBitmap().getWidth(); 
+0

将图像放入drawable-mdpi文件夹中。 – 2012-02-10 08:10:02

回答

2

我认为你在hdpi文件夹中使用图像。

//用于HDPI

853 * 240/160 =1279.5 
503 * 240/160 = 754.5 

// 750 + 50剩余的50像素为底杆

1280 * 160/160-1280 //for mdpi 

您的资源。因此广义大小(假设它们是全屏):

ldpi 
Vertical = 426 * 120/160 = 319.5px 
Horizontal = 320 * 120/160 = 240px 
mdpi 
Vertical = 470 * 160/160 = 470px 
Horizontal = 320 * 160/160 = 320px 
hdpi 
Vertical = 640 * 240/160 = 960px 
Horizontal = 480 * 240/160 = 720px 
+0

Thankx amn ..我得到了。真的很有帮助。 – raman 2012-02-10 09:56:01

+0

@raman是否解决了您的问题,或者您还在为您的问题寻找答案? – 2012-02-10 10:51:57

+0

@ padma..its解决了平板电脑10.1的分辨率是1280 * 800.so我现在把ddi放在drawable-hdpi文件夹中,并使宽度为1280 * 240/160 = 1920高度755(不包括软条)755 * 240/160 = 1132.5.so现在我使图像变得更大,因此它将在10.1斜切片中冷却。 – raman 2012-02-10 14:04:19

1

首先,蜂窝和冰淇淋三明治设备在屏幕底部有一个软按钮栏,占据屏幕的一部分。在你的情况下,它似乎需要45像素(800 - 755)。

然后你必须考虑密度。我猜摩托罗拉Xoom是1.5。您可以通过运行来检查:

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
Log.d("TAG", dm.density); 

这意味着要填充屏幕,必须将屏幕分辨率除以密度以获得图像所需的大小。

+0

如果图像的大小是1280 * 752,那么为什么在调试时显示大小是853 * 503,甚至我使用窗口管理器得到窗口的尺寸,它显示1280 * 752。然后我认为它必须适合窗口但事实并非如此。 – raman 2012-02-10 08:08:15