哪些单位可以传递UI方法?

问题描述

| 阅读Android开发人员指南的“支持多屏”后,它总是最好使用密度独立像素(dp)而不是像素,并且还说Android可以处理大多数应用程序在不同密度设备上的渲染。 现在我的问题是,如果我们看一下View类的padding函数   setPadding(向左int顶部int   正确,int底部
left     the left padding in pixels
top       the top padding in pixels
right   the right padding in pixels
bottom    the bottom padding in pixels
当我使用此功能时,是否可以传递直接值,还是必须将转换后的值(从dp转换为px)以最佳显示所有设备中的UI?     

解决方法

查阅此padding参考并搜索android:padding 看起来您需要将Dip转换为像素才能设置填充。您应该将值从dip转换为像素,以便它可以在其他设备上正常工作。     ,将您的DIP值转换为像素,并以此填充。
final float scale = getContext().getResources().getDisplayMetrics().density;

int valuePixels = (int)(valueDip * scale);