我有一个带有1280*800
的平板电脑摩托车xoom我在我的项目中的可绘制文件夹中有一个图像,当我检查该图像的大小时显示1280*755
但当我使用此图像时我的项目。
调试它以了解显示853*503
的大小,显然它不适合平板电脑。我也在这里附上了图片。
我通过使用以下代码获得宽度和高度。
BitmapDrawable bd=(BitmapDrawable)this.getResources().getDrawable(R.drawable.fish_normal);
int height=bd.getBitmap().getHeight();
int width=bd.getBitmap().getWidth();
答案 0 :(得分:2)
我认为你在hdpi文件夹中使用图像。
// for 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
答案 1 :(得分:1)
首先,Honeycomb和Ice Cream Sandwich设备的屏幕底部有一个软按钮栏,占据了一些屏幕空间。在你的情况下,它似乎需要45 px(800 - 755)。
然后你必须考虑密度。我猜测摩托罗拉Xoom是1.5。您可以通过运行来检查:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Log.d("TAG", dm.density);
这意味着要填充屏幕,您必须将屏幕分辨率除以密度,以获得图像所需的大小。