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()来保证各个版本都没有问题

相关推荐
似霰2 小时前
Unix Domain Socket —— UDP 篇
android·unix
独自破碎E4 小时前
BISHI54货物堆放
android·java·开发语言
冬奇Lab4 小时前
属性系统与系统配置管理:Android的全局配置中心
android·源码阅读
zjttsh5 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
fengsen52113146 小时前
MySQL--》如何在MySQL中打造高效优化索引
android·mysql·adb
吴声子夜歌6 小时前
RxJava——Hot Observable和Cold Observable
android·rxjava
dreams_dream8 小时前
MySQL 主从复制(小白友好 + 企业级)
android·数据库·mysql
城东米粉儿8 小时前
Android PLT Hook 笔记
android
城东米粉儿9 小时前
leakcanary原理
android
龙之叶9 小时前
Android ADB Shell 常用命令
android·adb