在Compose中使用.dp扩展函数前是否需将Int转换为dp?
Figma px转Compose dp的正确处理方式
直接用20.dp就足够,完全不需要你提到的自定义工具函数。
Compose自带的.dp扩展函数已经帮你完成了像素密度适配的核心工作:它会根据当前设备的显示密度,自动将dp单位转换为对应实际像素值,逻辑和你写的工具函数本质一致,但Compose的实现更严谨,还适配了自身的上下文环境,不会出现兼容性问题。
你提到的那个工具函数是传统View体系里的旧写法,在Compose生态里完全没必要使用。你目前只用.dp没遇到问题,这本身就是正确的做法。
补充说明:如果你的Figma设计稿是基于标准密度(比如1080x1920属于3倍密度,对应基准360dp宽度),直接把Figma里的px数值当成dp值用就可以,比如20px对应20dp,Compose会自动在不同密度的设备上渲染出正确的视觉效果。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

