我的设备分辨率为800 * 480。 我创建“Hello word”应用程序。然后我在MainCctivity的onCreate中获得DisplayMetrics。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Log.d("Resolution", "resolution: " + metrics.widthPixels + " x " + metrics.heightPixels);
在DisplayMetrics中有533 * 320像素。为什么呢?
如何申请800 * 480像素的分辨率。
答案 0 :(得分:2)
这是因为您正在阅读device independent pixels
而不是real pixels
。这些dip
等于mdpi
分辨率。因此,尽管有真正的屏幕大小,您应该检查密度(mdpi
或hdpi
或xdpi
),然后将您的高分辨率资产放入{{ 1}}后缀文件夹(即-hdpi
或drawable-hdpi
)。通常您在layout-hdpi
中设置布局(因此每个活动一个布局XML文件通常就足够了,您应该像往常一样将它们放在通用dp
文件夹中)。然后放置hi res drawables以使app在res/layout
设备
请参阅this article了解像素大小和密度关系......