android - 设置边距——期望像素,获得 dps?

标签 android android-emulator

这是其中一种令人讨厌的情况,其中一切正常但我不知道为什么。根据 Android API 文档和本网站,我预计必须对我的布局参数(此处以其原始状态显示)进行像素密度转换:

LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            lp.width = 60;   // the following three should be pixels, right??
            lp.height = 80;              
            lp.setMargins(1, 5, 1, 5);

换句话说,我预计上述内容在不同的屏幕密度下效果不佳,因为它们是以像素为单位指定的。 “问题”是它在我试过的所有模拟器上都能正常工作,从低级 QVGA 到上。为了解原因,我使用 Hierarchy Viewer 检查我的应用程序,发现当我的应用程序获得焦点时, View 的宽度(来自 getWidth())始终为 320。回到主屏幕,比方说,现在 HV 报告屏幕宽度为 480。

知道发生了什么吗?

最佳答案

这些值确实以像素为单位指定。听起来您的应用正在以兼容模式运行?

关于android - 设置边距——期望像素,获得 dps?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769302/

相关文章:

android - 旋转android View 而不影响相邻 View

java - android 共享首选项和 map

android - VerifyError,类被拒绝,VFY : register1 v6 type 12, wanted 11

java - 如何检测 android 应用程序的堆大小使用情况

android - MacBook Pro 崩溃 - 来自 Android 模拟器?

java - Android - 在谷歌地图上禁用 MyLocation 按钮

android - 如何使 TextInputLayout 中的错误消息显示在中心

android - 如何在 Android 中检查拨出电话是否已接听?

android - 如何在 VMware Windows 10 虚拟机中运行逍遥安卓模拟器?

android - 猴子的 "--throttle"参数的正确用法?