Answers:
直接编码
int padding_in_dp = 6; // 6 dps
final float scale = getResources().getDisplayMetrics().density;
int padding_in_px = (int) (padding_in_dp * scale + 0.5f);
getResources()
是一个由活动继承的函数,但是我试图在自定义列表视图适配器中使用这些行。如果我不能打电话,有什么办法可以做到getResources()
?
您可以计算特定DPI值的像素:http : //forum.xda-developers.com/showpost.php?p=6284958&postcount=31
我有同样的问题。我发现的唯一解决方案(它并不能真正帮助您:))是在Xml文件中进行设置。
如果可以从代码中获得密度,则可以使用以下转换:“将浸入度单位转换为屏幕像素很简单:像素=浸入度*(浓度/ 160)。” (来自http://developer.android.com/guide/practices/screens_support.html)
编辑:您可以获得屏幕密度:http : //developer.android.com/reference/android/util/DisplayMetrics.html#densityDpi