gpt4 book ai didi

android - TypedValue 在 Android 中的工作

转载 作者:行者123 更新时间:2023-11-29 15:05:54 28 4
gpt4 key购买 nike

当我们想在 Android 中改变一个 EditText 的宽度时,我们使用这行代码:

int px=(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,200,r.getDisplayMetrics());

谁能解释一下这是如何工作的以及 TypedValue.COMPLEX_UNIT_DIP 返回什么?

最佳答案

COMPLEX_UNIT_DIP 指定数字所指的测量单位。你写的翻译成“200 DIP”。我相信你知道 DIP 是什么。如果是 COMPLEX_UNIT_SP,那么 200 将被翻译为“200 SP”

这里是applyDimension的源代码:

public static float applyDimension(int unit, float value,
DisplayMetrics metrics)
{
switch (unit) {
case COMPLEX_UNIT_PX:
return value;
case COMPLEX_UNIT_DIP:
return value * metrics.density;
case COMPLEX_UNIT_SP:
return value * metrics.scaledDensity;
case COMPLEX_UNIT_PT:
return value * metrics.xdpi * (1.0f/72);
case COMPLEX_UNIT_IN:
return value * metrics.xdpi;
case COMPLEX_UNIT_MM:
return value * metrics.xdpi * (1.0f/25.4f);
}
return 0;
}

关于android - TypedValue 在 Android 中的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37498784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com