JessYanCoding / JessYanCoding/AndroidAutoSize

如何将旧项目从 AndroidAutoLayout 迁移至 AndroidAutoSize (AndroidAutoSize 已被 鸿洋 推荐为 AndroidAutoLayout 的官方替换方案)

Đang mở
#90 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
important
Ngôn ngữ chính
Java
Star
13.7k
Fork
2k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

由于 [AndroidAutoLayout](https://github.com/hongyangAndroid/AndroidAutoLayout) 已经停止维护, **AndroidAutoSize** 作为 [AndroidAutoLayout](https://github.com/hongyangAndroid/AndroidAutoLayout) 官方推荐的屏幕适配框架,所以为大家准备了详细的 **迁移指南**,方便大家将自己的项目快速从 [AndroidAutoLayout](https://github.com/hongyangAndroid/AndroidAutoLayout) 替换为 **AndroidAutoSize**

在迁移之前还是建议先看下框架的 [原理分析](https://juejin.im/post/5b7a29736fb9a019d53e7ee2),更加理解框架的原理,才可以更快地上手 **AndroidAutoSize**,当遇到问题时也不至于手足无措

在旧项目的迁移时这个 [issues](https://github.com/JessYanCoding/AndroidAutoSize/issues/233) 有可能会帮助到你。

迁移分为三个步骤:

1. 在 **app** 的 **build.gradle** 中将 **AndroidAutoLayout** 的依赖替换为 **AndroidAutoSize**

```diff
dependencies {
- implementation 'com.zhy:autolayout:1.4.5'
+ implementation 'me.jessyan:autosize:x.y.z'
}
```

2. 在 **app** 的 **AndroidManifest.xml** 中将 **AndroidAutoLayout** 填写设计图尺寸的方式改为 **AndroidAutoSize** 的方式

```diff

-
-
+
+

```

* 至于设计图尺寸是怎么算的我这里就不多说了,我的文章讲的很清楚,不懂就我的文章和 **demo**,如果使用副单位可以直接使用 1080 * 1920,不需要把设计图尺寸转换为 360 * 640,详情请看 [demo-subunits](https://github.com/JessYanCoding/AndroidAutoSize/blob/master/demo-subunits)

3. 检查项目中所有的 **xml** 文件,将项目中所有的 **AutoLayout** 控件还原为原控件,并将 **xml** 文件中填写的 **px** 尺寸全部替换为 **dp** 尺寸,如果使用的是副单位,就替换为副单位

```diff
-

-
+
```

**前两个步骤都比较简单,最后一个步骤,工作量比较大,所以可以在进行新业务开发的同时,抽时间慢慢完成旧代码的迁移工作**

可以参照 **MVPArms** 迁移过程中的这两个 **Commit**([删除 AndroidAutoLayout](https://github.com/JessYanCoding/MVPArms/commit/ecd9c435fa5cfff24cfe87fc4c0792b994a6a31e)、[使用 AndroidAutoSize](https://github.com/JessYanCoding/MVPArms/commit/8a99c6ca08f611a9c911647bbec96ff711af5ba7))

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.