小编典典

Android 并以 dp 单位编程设置宽度和高度

all

我正在做:

button.setLayoutParams(new GridView.LayoutParams(65, 65));

根据文档,宽度和高度的单位(以上均为 65)是“像素”。你如何强制它成为与设备无关的像素或“dp”?


阅读 113

收藏
2022-04-08

共1个答案

小编典典

您必须使用显示比例因子将其从 dps 转换为像素。

final float scale = getContext().getResources().getDisplayMetrics().density;
int pixels = (int) (dps * scale + 0.5f);
2022-04-08