我正在尝试将dp转换为像素。我正在使用这种方法:
//Converts device pixels to regular pixels to draw
private float dpToPixel(float dp) {
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
float px = dp * (metrics.densityDpi/160f);
return px;
}
然后,我尝试从dimen.xml文件中的变量获取dp,如下所示:
int buttonWidth = (int) dpToPixel(R.dimen.buttonHeight);
然后,使用
buttonWidth
变量的宽度创建一个缩放的位图。最后,我将其绘制到 Canvas 上。但是,当我尝试运行它时,什么也没有显示。有人可以帮忙吗?
最佳答案
我认为您的问题中有错别字,或者您确实没有加载高度值-您实际上是在加载代表资源ID的数字。应该是:
int buttonWidth = (int) dpToPixel(getResorces().getDimension(R.dimen.buttonHeight));
但是...您不需要自己进行转换:
getResources().getDimensionPixelSize(R.dimen.buttonHeight);
关于android - 如何将dp转换为像素并在Android中使用它绘制到 Canvas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32162693/