Android View Size Get measureView(View v)

Here you can find the source of measureView(View v)

Description

measure View

License

Apache License

Declaration

public static void measureView(View v) 

Method Source Code

//package com.java2s;
/****************************************************************************
 *            Copyright (C) 2014 www.apkdv.com
 *    Author: LengYue  ProjectName: DvTools
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License./* w ww  . j  a  v  a  2  s  . c om*/
 *****************************************************************************/

import android.view.View;
import android.view.View.MeasureSpec;
import android.view.ViewGroup;

public class Main {

    public static void measureView(View v) {
        ViewGroup.LayoutParams p = v.getLayoutParams();

        if (p == null) {
            p = new ViewGroup.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);
        }

        int childWidthSpec = ViewGroup.getChildMeasureSpec(0, 0 + 0,
                p.width);
        int lpHeight = p.height;
        int childHeightSpec;

        if (lpHeight > 0) {
            childHeightSpec = MeasureSpec.makeMeasureSpec(lpHeight,
                    MeasureSpec.EXACTLY);
        } else {
            childHeightSpec = MeasureSpec.makeMeasureSpec(0,
                    MeasureSpec.UNSPECIFIED);
        }

        v.measure(childWidthSpec, childHeightSpec);
    }
}

Related

  1. setLayoutParams(View cover, Display display)
  2. measureView(View v)