自定义 View:布局
发布于: 刚刚

1.知识点
布局过程:确定每个 View 的位置和尺寸
作用:为绘制和触摸范围做支持
2.原理
测量过程:从根 View 递归调用每一级子 View 的 measure 方法,对它们进行测量
布局过程:从根 View 递归调用每一级子 View 的 layout 方法,把测量过程的得出的子 View 的位置和尺寸传递给子 View,子 View 保存
3.代码
import android.content.Context;import android.os.Build;import android.support.v7.widget.AppCompatImageView;import android.util.AttributeSet;
public class SquareImageView extends AppCompatImageView { public SquareImageView(Context context) { super(context); }
public SquareImageView(Context context, AttributeSet attrs) { super(context, attrs); }
public SquareImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { // setMeasuredDimension(widthMeasureSpec, widthMeasureSpec); // } else { // super.onMeasure(widthMeasureSpec, heightMeasureSpec); // } super.onMeasure(widthMeasureSpec, heightMeasureSpec); int width = getMeasuredWidth(); int height = getMeasuredHeight(); int size = Math.min(width, height); setMeasuredDimension(size, size); }}
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 2
Changing Lin
关注
获得机遇的手段远超于固有常规之上~ 2020.04.29 加入
我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。











评论