自定义最大高度的ViewGroup

我们有个需求,就是ViewGroup 最大的高度是多少,我们可以用下面的代码试下:


import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.widget.FrameLayout;

import com.xiaomi.mico.base.utils.DisplayUtils;

/**
 * =======================================================================================
 * 作    者:caoxinyu
 * 创建日期:2020/9/11.
 * 类的作用:
 * 修订历史:
 * =======================================================================================
 */
public class MaxHeightFrameLayout extends FrameLayout {
     

    private int mMaxHeight;

    public MaxHeightFrameLayout(@NonNull Context context) {
     
        super(context);
    }

    public MaxHeightFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
     
        super(context, attrs);
    }

    public MaxHeightFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
     
        super(context, attrs, defStyleAttr);
    }


    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
     
        mMaxHeight = DisplayUtils.dip2px(getContext(), 1050);
        int makeMeasureSpec = MeasureSpec.makeMeasureSpec(mMaxHeight, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, makeMeasureSpec);
    }
}

你可能感兴趣的:(Android)