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

相关推荐
QuantumLeap丶1 小时前
《Flutter全栈开发实战指南:从零到高级》- 18 -自定义绘制与画布
android·flutter·ios
.豆鲨包1 小时前
【Android】 View事件分发机制源码分析
android·java
花落归零1 小时前
Android 小组件AppWidgetProvider的使用
android
弥巷1 小时前
【Android】常见滑动冲突场景及解决方案
android·java
angushine2 小时前
解决MySQL慢日志输出问题
android·数据库·mysql
fouryears_234172 小时前
Android 与 Flutter 通信最佳实践 - 以分享功能为例
android·flutter·客户端·dart
成都大菠萝3 小时前
Android ANR
android
Ryan ZHENG4 小时前
[Android][踩坑]Android Studio导入core-libart.jar
android·android studio·jar
q***R3084 小时前
Kotlin注解处理
android·开发语言·kotlin
Digitally4 小时前
如何将文件从三星平板传输到电脑
android