您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Android >> 为什么target API不同手机屏幕密度也会改变

为什么target API不同手机屏幕密度也会改变

来源:网络整理     时间:2016/4/10 23:24:45     关键词:target,手机屏幕

关于网友提出的“为什么target API不同手机屏幕密度也会改变”问题疑问,本网通过在网上对“为什么target API不同手机屏幕密度也会改变”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:为什么target API不同手机屏幕密度也会改变
描述:

Android编程java手机屏幕密度

同一个app,同一个relativelayout,只是改了<>
我的像素单位是用的dp的,所以我还特意用系统函数getdisplaymetric之类的输出了display的密度
结果显示竟然不同?这么玄乎?
解决方案1:

引用 3 楼 d1438138 的回复:
为什么target API不同手机屏幕密度也会改变
为什么target API不同手机屏幕密度也会改变
DisplayMetrics outMetrics = new DisplayMetrics();
DisplayMetrics outMetrics2 = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(outMetrics);
getWindowManager().getDefaultDisplay().getMetrics(outMetrics2);
showToast("getRealMetrics(): "+outMetrics.widthPixels+"\ngetMetrics(): "
+outMetrics2.widthPixels);
吧use-sdk删了,就会出现getRealMetrics和getMetrics不一致的结果
MI2S测试,手机API为16
是不是要根据不同手机设计尺寸?

用PX啊,怎么会用dp
 /*将分辨率从dp转换为px,px会根据不同手机不同分辨率调整大小,嗯dp本身大小是不变的,
        * 单以为不同手机的不同分辨率将会导致显示出来的大小不一样,分辨率越大显示越小,反之越大*/
public static int dip2px(Context context, float dipValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dipValue * scale + 0.5f);
}
用这段代码试试看
以上介绍了“为什么target API不同手机屏幕密度也会改变”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/640659.html

相关图片

相关文章