美文网首页Android开发Android开发经验谈Android开发
【Android】不写一句代码解决屏幕适配问题

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

作者: JarryLeo | 来源:发表于2018-08-31 18:17 被阅读29次

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

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

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

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

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

MagicScreenAdapter.initDesignWidthInDp(380);

这样可以快速适配老项目

依赖方法:

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file

1.在全局build里面添加下面github仓库地址
Add it in your root build.gradle at the end of repositories:

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()这两个仓库一般是默认的,如果没有请加上

Step 2. Add the dependency

2.在app的build里面添加插件和依赖

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

以上依赖,java和kotlin二选一

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

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

相关文章

网友评论

  • 8f22e30fc811:只要这样就可以适配了?
    JarryLeo:是的,依赖这个库直接就是实现适配, 先查看一下你项目的预览布局用的是什么尺寸,如果用的是宽度360dp的,那么什么都不用做,直接完成适配,具体看github的README
  • 筱宓dawnLing:一直在看今日头条的适配方案,终于有简洁易用的库出来了,感谢分享
    JarryLeo:多谢支持:blush:
  • 詩酒年華丶:这个360dp怎么算的?
    詩酒年華丶:@JarryLeo设计图只有宽高像素,没有对角线尺寸啊
    JarryLeo:具体看布局预览的宽度dp得自己尝试, 放个宽度 180dp的控件上去,刚好一半表示预览的尺寸宽度是360dp
    JarryLeo:宽度像素数 / ((√(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数) / 160)

    最外层括号包裹的是 density (px/dp 的比值)
    第二层括号包裹的是 ppi (每英寸长度的像素数)
    最内层括号包裹的是 对角线长px(像素)

    160 是规定的 160ppi 的屏幕上 1dp = 1px

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

本文链接:https://www.haomeiwen.com/subject/nxjewftx.html