繁体   English   中英

此示例的最小布局宽度如何工作?

[英]How do smallest width for layouts work with this example?

我已经阅读了officel文档,但仍然不理解!

我正在玩Android上最小宽度的布局并在进行实验,这对我没有任何意义。

我已经创建了以下布局: sw-300dp/350dp/360dp/400dp/450dp/500dp/但是我的Galaxy S7使用sw-360dp layout 但是360dp远没有getDisplayMetrics();证明的任何数字getDisplayMetrics(); 或我从GSMArena获得的屏幕编号。 那么,为什么银河S7使用360dp ,而不是500dp因为xdpi是580dp,更贴近500dp?

测试电话:三星Galaxy S7

屏幕尺寸: 5.1英寸

分辨率: 1440x 2560(577 ppi)

从det Logcat,我检索了电话的以下屏幕值:

getDisplayMetrics().densityDpi: 640
getDisplayMetrics().xdpi: 580
getDisplayMetrics().ydpi: 575:
getDisplayMetrics().widthPixels: 1440

S7上的屏幕密度为4.0

这意味着每dp有4个像素,因此屏幕为1440/4 = 360dp宽。

我经常使用以下方法:

public static int dpToPx(int dp) {
    return (int) (dp * Resources.getSystem().getDisplayMetrics().density);
}

public static int pxToDp(int px) {
    return (int) (px / Resources.getSystem().getDisplayMetrics().density);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM