不能正确添加子布局在自定义视图中。
创始人
2024-12-27 11:30:28
0

要在自定义视图中正确添加子布局,您可以按照以下步骤进行操作:

  1. 创建一个继承自ViewGroup的自定义视图类,并覆盖onMeasureonLayout方法。
public class CustomView extends ViewGroup {
    
    public CustomView(Context context) {
        super(context);
    }
    
    public CustomView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    
    public CustomView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
    
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // 在这里测量子布局的宽高
        // 使用measureChild方法测量子布局的宽高
        
        // 获取父布局的宽高限制
        int widthMode = MeasureSpec.getMode(widthMeasureSpec);
        int widthSize = MeasureSpec.getSize(widthMeasureSpec);
        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
        int heightSize = MeasureSpec.getSize(heightMeasureSpec);
        
        // 计算自定义视图的宽高
        
        // 计算子布局的宽高
        
        // 设置自定义视图的宽高
        setMeasuredDimension(widthSize, heightSize);
    }
    
    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        // 在这里布局子布局的位置
        // 使用layout方法布局子布局的位置
    }
}
  1. onMeasure方法中测量子布局的宽高,使用measureChild方法测量子布局的宽高。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    // 获取父布局的宽高限制
    int widthMode = MeasureSpec.getMode(widthMeasureSpec);
    int widthSize = MeasureSpec.getSize(widthMeasureSpec);
    int heightMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightSize = MeasureSpec.getSize(heightMeasureSpec);
    
    // 测量子布局的宽高
    measureChild(childView, widthMeasureSpec, heightMeasureSpec);

    // 计算自定义视图的宽高
    
    // 计算子布局的宽高
    
    // 设置自定义视图的宽高
    setMeasuredDimension(widthSize, heightSize);
}
  1. onLayout方法中布局子布局的位置,使用layout方法布局子布局的位置。
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
    // 布局子布局的位置
    childView.layout(left, top, right, bottom);
}

通过按照以上步骤进行操作,您就可以在自定义视图中正确添加子布局。请注意,以上示例代码仅为参考,您可能需要根据实际需求进行适当的修改。

相关内容

热门资讯

透视安卓版!wepoker免费... 透视安卓版!wepoker免费透视脚本,hhpoker俱乐部是干嘛的,技巧教程(本然是有挂)1、许多...
透视有挂!wpk透视脚本,we... 透视有挂!wpk透视脚本,wepoker黑侠破解,专业教程(原本是有挂);wpk透视脚本软件透明挂作...
透视插件!hhpoker透视下... 透视插件!hhpoker透视下载链接在哪里,wepoker有机器人吗,揭秘教程(一贯真的是有挂)1、...
透视存在!aapoker透视脚... 透视存在!aapoker透视脚本下载,wepoker有没有插件,可靠技巧(一贯真的是有挂);1分钟了...
透视科技!德普之星app安卓版... 《透视科技!德普之星app安卓版破解版,德普之星有辅助软件吗,2025教程(总是存在有挂)》 德普之...
透视总结!wpk辅助插件叫什么... 透视总结!wpk辅助插件叫什么,拱趴大菠萝作弊方法,2025新版(本来真的有挂);精心打造了俱乐部社...
透视苹果版!红龙poker透视... 您好,红龙poker透视工具这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
透视好牌!wpk有没有脚本,哈... 透视好牌!wpk有没有脚本,哈糖大菠萝攻略,wpk教程(最初有挂);wpk有没有脚本是一种具有地方特...
透视好友!wepoker辅助透... 1、透视好友!wepoker辅助透视软件,wepoker辅助器安装包定制,安装教程(原本是有挂);详...
透视美元局!hhpoker辅助... 透视美元局!hhpoker辅助下载,wepokerplus开挂,可靠教程(先前是有挂);一、hhpo...