![Logo](art/autosize_banner.jpg) ![Official](https://raw.githubusercontent.com/JessYanCoding/MVPArms/master/image/official.jpeg)
## 今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案. ## Overview ### Pixel 2 XL | 1440 x 2880 | 560dpi:### Pixel XL | 1440 x 2560 | 560dpi:
### Nexus 5X | 1080 x 1920 | 420dpi:
### Nexus 4 | 768 x 1280 | 320dpi:
### Nexus S | 480 x 800 | 240dpi:
## Notice * [主流机型设备信息,可以作为参考](https://material.io/tools/devices/) * [功能介绍](https://juejin.im/post/5bce688e6fb9a05cf715d1c2) * [原理分析](https://juejin.im/post/5b7a29736fb9a019d53e7ee2) * [今日头条屏幕适配方案常见问题汇总](https://github.com/JessYanCoding/AndroidAutoSize/issues/13) * [Android 进阶框架](https://github.com/JessYanCoding/MVPArms) * 对于老项目,如果使用了 **AndroidAutoLayout**,请参考 [**AndroidAutoLayout** 迁移指南](https://github.com/JessYanCoding/AndroidAutoSize/issues/90),**AndroidAutoSize** 可以和 [**AndroidAutoLayout**](https://github.com/hongyangAndroid/AndroidAutoLayout) 一起使用,因为 **AndroidAutoLayout** 使用的是 **px**,所以 **AndroidAutoSize** 对它不会产生任何影响,如果老项目的某些页面之前使用了 **dp** 进行布局,并且 **AndroidAutoSize** 对这些页面已经产生了不良影响,可以让之前使用了 **dp** 的旧 **Activity** 实现 **CancelAdapt** 取消适配,**建议使用副单位,使用副单位则不会影响之前使用了 dp 的页面 (也不会影响三方库和系统控件),详情请查看 [demo-subunits](https://github.com/JessYanCoding/AndroidAutoSize/tree/master/demo-subunits)** ## Download ### Jcenter ([ ⚠️ 已停止维护: 2022 年 2 月 1 日之后 JCenter 远程仓库将无法使用](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter)): ``` gradle implementation 'me.jessyan:autosize:1.2.1' ``` ### JitPack: Step 1. Add the JitPack repository in your root [build.gradle](https://github.com/JessYanCoding/AndroidAutoSize/blob/master/build.gradle#L20) at the end of repositories: ```gradle allprojects { repositories { ... maven { url "https://jitpack.io" } } } ``` Step 2. Add the dependency ```gradle dependencies { implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1' } ``` ## Usage ### Step 1 (真的不吹牛逼,只需要以下这一步,框架就可以对项目中的所有页面进行适配) * **请在 AndroidManifest 中填写全局设计图尺寸 (单位 dp),如果使用副单位,则可以直接填写像素尺寸,不需要再将像素转化为 dp,详情请查看 [demo-subunits](https://github.com/JessYanCoding/AndroidAutoSize/tree/master/demo-subunits)** ```xml