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 小时前
android 蓝牙连接-兼容旧版本
android
鹏多多.3 小时前
Flutter使用screenshot进行截屏和截长图以及分享保存的全流程指南
android·前端·flutter·ios·前端框架
Flywith245 小时前
【每日一技】Warp Workflow 使用示例
android·前端
冬奇Lab6 小时前
JobScheduler与WorkManager:任务调度机制
android·源码阅读
summerkissyou19877 小时前
Android-view-绘制流程及自定义例子
android·app
常利兵8 小时前
Android “解锁”屏幕方向:APP适配新征程
android·gitee
红藕香残玉簟秋10 小时前
【安卓学习】配置开发环境
android·学习
用户693717500138410 小时前
Android R8 深度解析:为什么 Google 用R8取代 ProGuard?
android·android studio·android jetpack
seabirdssss10 小时前
联想拯救者Y7000P上使用ADB无法监听到通过USB连接的安卓设备
android·adb