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

相关推荐
曾经的三心草21 分钟前
JavaEE初阶-多线程2
android·java·java-ee
v***5651 小时前
Spring Cloud Gateway
android·前端·后端
苦逼的搬砖工3 小时前
基于 easy_rxdart 的轻量响应式与状态管理架构实践
android·flutter
2501_915918413 小时前
苹果上架 iOS 应用的工程实践,一次从零到上线的完整记录
android·ios·小程序·https·uni-app·iphone·webview
從南走到北4 小时前
JAVA国际版同城跑腿源码快递代取帮买帮送同城服务源码支持Android+IOS+H5
android·java·ios·微信小程序
2501_915918415 小时前
如何解析iOS崩溃日志:从获取到符号化分析
android·ios·小程序·https·uni-app·iphone·webview
Entropless5 小时前
OkHttp 深度解析(一) : 从一次完整请求看 OkHttp 整体架构
android·okhttp
v***91306 小时前
Spring+Quartz实现定时任务的配置方法
android·前端·后端
wilsend6 小时前
Android Studio 2024版新建java项目和配置环境下载加速
android
兰琛6 小时前
Android Compose展示PDF文件
android·pdf