Android 适配:版本适配

文章目录

自定义ViewGroup添加View时对View对应的LayoutParams的处理操作

Android 7只需要重写ViewGroup的generateLayoutParams方法,创建需要的LayoutParmas

复制代码
    @Override
    public LayoutParams generateLayoutParams(AttributeSet attrs) {
        return new MarginLayoutParams(getContext(), attrs);
    }

Android 15 需要重写ViewGroup的generateLayoutParams方法和generateDefaultLayoutParams方法

复制代码
    @Override
    protected LayoutParams generateDefaultLayoutParams() {
        return new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    }

    @Override
    public LayoutParams generateLayoutParams(AttributeSet attrs) {
        return new MarginLayoutParams(getContext(), attrs);
    }

小结

如果要自定义ViewGroup,对添加到其中的View对应LayoutParams有特殊要求(如需要是MarginLayoutParams),需要重写ViewGroup.generateDefaultLayoutParams()和ViewGroup.generateLayoutParams()来保证各个版本都没有问题

相关推荐
恋猫de小郭1 小时前
你是不是觉得 R8 很讨厌,但 Android 为什么选择 R8 ?也许你对 R8 还不够了解
android·前端·flutter
城东米粉儿3 小时前
Android Glide 笔记
android
城东米粉儿4 小时前
Android TheRouter 笔记
android
城东米粉儿10 小时前
Android AIDL 笔记
android
城东米粉儿10 小时前
Android 进程间传递大数据 笔记
android
城东米粉儿10 小时前
Android KMP 笔记
android
冬奇Lab12 小时前
WMS核心机制:窗口管理与层级控制深度解析
android·源码阅读
松仔log12 小时前
JetPack——Paging
android·rxjava
城东米粉儿13 小时前
Android Kotlin DSL 笔记
android