package me.wangyuwei.signuptransition; import android.content.Context; import android.util.AttributeSet; import android.widget.FrameLayout; /** * 作者: 巴掌 on 16/8/19 13:10 * Github: https://github.com/JeasonWong */ public class SquareFrameLayout extends FrameLayout { public SquareFrameLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public SquareFrameLayout(Context context, AttributeSet attrs) { super(context, attrs); } public SquareFrameLayout(Context context) { super(context); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(getDefaultSize(0, widthMeasureSpec), getDefaultSize(0, heightMeasureSpec)); int childWidthSize = getMeasuredWidth(); // 高度和宽度一样 heightMeasureSpec = widthMeasureSpec = MeasureSpec.makeMeasureSpec( childWidthSize, MeasureSpec.EXACTLY); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }