【Android】不写一句代码解决屏幕适配问题

依赖本库不用写一句代码搞定屏幕适配:

先上酸菜Github地址
本适配方案是用的 今日头条的 适配方案, 界面在不同尺寸屏幕上是等比缩放的;
布局预览的时候请使用 1920×1080 (360dp宽度的分辨率都可以) 的屏幕分辨率预览,

预览是什么样在任何设备都是这个样子

如果某个Activity 不想启用适配功能,请打上注解:@IgnoreScreenAdapter

如果老项目一直用的其它宽度dp预览的布局,则可以在Application 里面重设预览宽度

MagicScreenAdapter.initDesignWidthInDp(380);

这样可以快速适配老项目

本方案是不考虑设计图尺寸的,你以前怎么把设计图弄成布局,就按以前的来,只是在布局预览的时候选择预览尺寸是360dp宽即可,不是也没关系,不过要在application初始化一下预览宽度;

依赖方法:

第一步:在全局build添加下面仓库

buildscript {
    ...
    dependencies {
    ...
        classpath 'cn.leo.plugin:magic-plugin:1.0.0' //java 用这个
    classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.0' //kotlin 用这个
    }
}
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

google()和jcenter()这两个仓库一般是默认的,如果没有请加上

第二步:在app的build里面添加插件和依赖

apply plugin: 'cn.leo.plugin.magic' //java 用这个
apply plugin: 'android-aspectjx'  //kotlin 用这个,编译速度会慢点
...
dependencies {
    ...
    implementation 'com.github.jarryleo:MagicScreenAdapter:v1.5'
}

以上依赖,java和kotlin二选一

用于支持kotlin的插件用的是 aspectjx
感谢插件作者
因为编织所有二进制文件的问题导致编译速度慢的问题,请查看原作者提供的解决方案

本库基于AOP的面向切片原理,不损耗性能,如果觉得好用的话,欢迎给个star支持一下

    原文作者:JarryLeo
    原文地址: https://www.jianshu.com/p/21eadaf65207
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞