Example usage for android.view View measure

List of usage examples for android.view View measure

Introduction

In this page you can find the example usage for android.view View measure.

Prototype

public final void measure(int widthMeasureSpec, int heightMeasureSpec) 

Source Link

Document

This is called to find out how big a view should be.

Usage

From source file:Main.java

public static int getAbsListViewHeight(AbsListView absListView, int lineNumber, int verticalSpace) {
    int totalHeight = 0;
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    absListView.measure(w, h);/* w  ww .  ja  v a2  s  .c  o m*/
    ListAdapter mListAdapter = absListView.getAdapter();
    if (mListAdapter == null) {
        return totalHeight;
    }

    int count = mListAdapter.getCount();
    if (absListView instanceof ListView) {
        for (int i = 0; i < count; i++) {
            View listItem = mListAdapter.getView(i, null, absListView);
            listItem.measure(w, h);
            totalHeight += listItem.getMeasuredHeight();
        }
        if (count == 0) {
            totalHeight = verticalSpace;
        } else {
            totalHeight = totalHeight + (((ListView) absListView).getDividerHeight() * (count - 1));
        }

    } else if (absListView instanceof GridView) {
        int remain = count % lineNumber;
        if (remain > 0) {
            remain = 1;
        }
        if (mListAdapter.getCount() == 0) {
            totalHeight = verticalSpace;
        } else {
            View listItem = mListAdapter.getView(0, null, absListView);
            listItem.measure(w, h);
            int line = count / lineNumber + remain;
            totalHeight = line * listItem.getMeasuredHeight() + (line - 1) * verticalSpace;
        }

    }
    return totalHeight;

}

From source file:Main.java

public static void setAbsListViewHeight(AbsListView absListView, int lineNumber, int verticalSpace) {

    if (lineNumber == 0) {
        return;/*from ww w.  ja v  a  2 s .co m*/
    }
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    ListAdapter mListAdapter = absListView.getAdapter();
    if (mListAdapter == null) {
        return;
    }
    int totalHeight = 0;
    int count = mListAdapter.getCount();
    ViewGroup.LayoutParams params = absListView.getLayoutParams();
    if (absListView instanceof ListView) {
        for (int i = 0; i < count; i++) {
            View listItem = mListAdapter.getView(i, null, absListView);
            listItem.measure(w, h);
            totalHeight += listItem.getMeasuredHeight();
        }
        if (count == 0) {
            params.height = verticalSpace;
        } else {
            params.height = totalHeight + (((ListView) absListView).getDividerHeight() * (count - 1));
        }

    } else if (absListView instanceof GridView) {
        int remain = count % lineNumber;
        if (remain > 0) {
            remain = 1;
        }
        if (mListAdapter.getCount() == 0) {
            params.height = verticalSpace;
        } else {
            View listItem = mListAdapter.getView(0, null, absListView);
            listItem.measure(w, h);
            int line = count / lineNumber + remain;
            params.height = line * listItem.getMeasuredHeight() + (line + 1) * verticalSpace;
        }

    }

    ((MarginLayoutParams) params).setMargins(0, 0, 0, 0);
    absListView.setLayoutParams(params);

}

From source file:Main.java

public static void measureWidthAndHeight(View view) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    view.measure(w, h);
}

From source file:Main.java

public static int getW(View v) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    v.measure(w, h);
    int width = v.getMeasuredWidth();
    return width;
}

From source file:Main.java

public static int getHeight(View view) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    view.measure(w, h);
    return (view.getMeasuredHeight());
}

From source file:Main.java

public static int getHeight(View view) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    view.measure(w, h);
    return view.getMeasuredHeight();
}

From source file:Main.java

public static int getWidth(View view) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    view.measure(w, h);
    return (view.getMeasuredWidth());
}

From source file:Main.java

public static int getWidth(View view) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    view.measure(w, h);
    return view.getMeasuredWidth();
}

From source file:Main.java

public static int getViewHeight(View view) {
    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
    view.measure(w, h);
    int height = view.getMeasuredHeight();
    return height;
}

From source file:Main.java

public static int getAbsListViewHeight(AbsListView absListView, int lineNumber, int verticalSpace) {
    int totalHeight = 0;
    int w = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
    int h = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
    absListView.measure(w, h);/*from  w w  w .  j a  va2  s. c om*/
    ListAdapter mListAdapter = absListView.getAdapter();
    if (mListAdapter == null) {
        return totalHeight;
    }

    int count = mListAdapter.getCount();
    if (absListView instanceof ListView) {
        for (int i = 0; i < count; i++) {
            View listItem = mListAdapter.getView(i, null, absListView);
            listItem.measure(w, h);
            totalHeight += listItem.getMeasuredHeight();
        }
        if (count == 0) {
            totalHeight = verticalSpace;
        } else {
            totalHeight = totalHeight + (((ListView) absListView).getDividerHeight() * (count - 1));
        }

    } else if (absListView instanceof GridView) {
        int remain = count % lineNumber;
        if (remain > 0) {
            remain = 1;
        }
        if (mListAdapter.getCount() == 0) {
            totalHeight = verticalSpace;
        } else {
            View listItem = mListAdapter.getView(0, null, absListView);
            listItem.measure(w, h);
            int line = count / lineNumber + remain;
            totalHeight = line * listItem.getMeasuredHeight() + (line - 1) * verticalSpace;
        }

    }
    return totalHeight;

}