当我将android中的layout_height设置为1280像素时,我的文本视图将被扩展到屏幕外,尽管nexus 4的分辨率为1280 * 768。
答案 0 :(得分:2)
Nexus 4的像素密度为xhdpi,因此1280像素x 768像素的物理显示器在Android布局“设备独立像素”方面是640dp x 384dp的比例。如果将布局设置为1280dp x 768dp,则表示不正确。
有关屏幕密度,设备无关像素(dp)的更多信息,请参阅http://developer.android.com/guide/topics/resources/more-resources.html#Dimension。
如果您真的只对测量这些尺寸感兴趣,在您的Activity加载并完成布局后,您可以在您感兴趣的视图上调用getWidth()和getHeight()布局后确定尺寸。
您还想知道:
float pixelDensity = myContext.getResources().getDisplayMetrics().density;
您可以确定显示尺寸:
WindowManager w = myActivity.getWindowManager();
Display display = w.getDefaultDisplay();
int height = display.getHeight();
int width = display.getWidth();
然后:
int heightInDIPs = height / pixelDensity;
int widthInDIPs = width / pixelDensity;
@SpacePope提供的支持多种屏幕大小的链接是最好的......您可以获得每种显示类别(小,中,大,xlarge)的设备大小的一般指导,并确保为mdpi创建图形, hdpi,xhdpi,现在xxhdpi密度,并在必要时让平台扩展。
答案 1 :(得分:0)
不要在布局XML中使用“px”; “dp”优选用于跨设备维持规模。阅读supporting multiple screens。