我已经编写了从 dip 中获取像素的方法,但它不起作用。它给了我运行时错误。
实际上我是在单独的类中运行此方法并在我的 Activity 类中初始化
Board board = new Board(this);
board.execute(URL);
此代码异步运行。请帮帮我。
public float getpixels(int dp){
//Resources r = boardContext.getResources();
//float px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpis, r.getDisplayMetrics());
final float scale = this.boardContext.getResources().getDisplayMetrics().density;
int px = (int) (dp * scale + 0.5f);
return px;
}
最佳答案
试试这个:
Java
public static float dipToPixels(Context context, float dipValue) {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, metrics);
}
Kotlin
fun Context.dipToPixels(dipValue: Float) =
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, resources.displayMetrics)
关于android - 在 Android 中将 dip 转换为 px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399184/