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

相关推荐
Jinkxs14 小时前
Python基础 - 初识内置函数 Python自带的便捷工具
android·java·python
私人珍藏库15 小时前
【Android】VLLO-韩国热门手机剪辑APP
android·app·工具·软件·多功能
Cloud_Shy61815 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 40 - 43)
android·开发语言·人工智能·笔记·python·学习方法
AFinalStone16 小时前
Android12 U盘插拔链路源码全解析(五):Framework层(下) StorageManagerService
android·frameworks
林九生18 小时前
【实用技巧】MySQL 绿色版一键路径更新脚本详解 —— update_path.bat 深度解析
android·数据库·mysql
故渊at19 小时前
第十三板块:Android 综合架构与未来演进 | 第三十一篇:Android 架构演进与 Fuchsia OS 的挑战
android·架构·宏内核·微内核·fuchsia·ipc 性能博弈
aqi0019 小时前
一文速览 HarmonyOS 6.1.1 推出的十个新特性
android·华为·harmonyos·鸿蒙·harmony
matrixmind119 小时前
aiomysql:异步场景下的 MySQL 驱动
android·数据库·mysql·其他
随遇丿而安19 小时前
第8周:弹窗 / 提示组件全功能与弹窗优化
android
zh_xuan19 小时前
诡异Bug:输入框删除字符,却越删越多
android·bug