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

相关推荐
yan123683 小时前
Linux 驱动之设备树
android·linux·驱动开发·linux驱动
aningxiaoxixi5 小时前
android stdio 的布局属性
android
CYRUS STUDIO6 小时前
FART 自动化脱壳框架一些 bug 修复记录
android·bug·逆向·fart·脱壳
寻找优秀的自己7 小时前
Cocos 打包 APK 兼容环境表(Android API Level 10~15)
android·cocos2d
大胃粥7 小时前
WMS& SF& IMS: 焦点窗口更新框架
android
QING6187 小时前
Gradle 核心配置属性详解 - 新手指南(二)
android·前端·gradle
QING6188 小时前
Gradle 核心配置属性详解 - 新手指南(一)
android·前端·gradle
_一条咸鱼_11 小时前
Android Runtime内存管理子系统启动流程原理(13)
android·面试·android jetpack
法迪11 小时前
Android的uid~package~pid的关系
android