getheight()px还是dpi?

Max*_*nin 12 android dpi

Help.I发现ListView的高度,我不知道px或dpi?我需要dpi

final ListView actualListView = mPullRefreshListView.getRefreshableView();

actualListView.getViewTreeObserver().addOnGlobalLayoutListener(
                new ViewTreeObserver.OnGlobalLayoutListener() {
                    public void onGlobalLayout() {
                        height = actualListView.getHeight();  

                    }
                });
Run Code Online (Sandbox Code Playgroud)

AAn*_*kit 32

getheight返回高度,以像素为单位,以下是文档说的..

  public final int getHeight ()
Run Code Online (Sandbox Code Playgroud)

自:API级别1

返回视图的高度.返回

视图的高度(以像素为单位).

您需要将px转换为dp,使用以下方法将其转换为dp.

将像素转换为dp:

public int pxToDp(int px) {
    DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
    int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
    return dp;
}
Run Code Online (Sandbox Code Playgroud)

或者如果你想在px中使用它以下.

将dp转换为像素:

public int dpToPx(int dp) {
    DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
    int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));       
    return px;
}
Run Code Online (Sandbox Code Playgroud)