我已经写了一个方法来从dip得到像素,但它不起作用。它给我运行时错误。
实际上,我在单独的类中运行这个方法,并在活动类中初始化
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;
}
4条答案
按热度按时间falq053o1#
公式为:px=dp*(dpi/160),用于在160 dpi屏幕上显示。看到了吗http://developer.android.com/guide/practices/screens_support.html 更多信息。
你可以试试:
希望这有帮助。。。
3hvapo4f2#
您可以在dimen.xml中添加dp值并使用
更容易。。。
aoyhnmkz3#
试试这个:
java
Kotlin
envsm3lx4#
试试这个:因为没有传递上下文