问题描述
|
阅读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);