Android自定义View之自定义一个简单的阶梯式布局

本文详细介绍了如何在Android中自定义一个简单的阶梯式布局,包括onMeasure过程中的确定自身和子View大小的步骤,以及onLayout中根据规则定位子View的流程。通过代码示例展示了自定义View的具体实现。
摘要由CSDN通过智能技术生成
  • onMeasure:
    1. 确定自身的大小
    2. 确定子View的大小

流程:
1. ViewGroup开始测量自己的尺寸
2. 为每个子View计算测量的限制信息
3. 把上一步确定的限制信息,传递给每一个字View,然后子View开始measure自己的尺寸
4. 获取子View测量完成后的尺寸
5. ViewGroup根据自身的情况,计算自己的尺寸
6. 保存自身的尺寸

onLayout:
1. 根据规则确定子View位置
流程:
1. 遍历子View
2. 确定自己的规则
3. 子View的测量尺寸
4. left,top,right,bottom
5. child.layout

  • 效果
    在这里插入图片描述
  • 代码
    自定义View代码
package com.example.as.proj.myviewgroupdemo2;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;

import java.util.jar.Attributes;

public class MyViewGroup extends ViewGroup {
   
    public static final int OFFSET = 100; //表示缩进尺寸

    public MyViewGroup(Context context){
   
        super(context);
    }
    public MyViewGroup(Context context, AttributeSet attrs){
   
        super(context, attrs);
    }
    public MyViewGroup(Context context, AttributeSet attrs, int defStyleAttr){
   
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值