ITPub博客

首页 > 移动开发 > ANDROID > 今日头条屏幕适配方案终极版:极低成本 Android 适配方案!

今日头条屏幕适配方案终极版:极低成本 Android 适配方案!

ANDROID 作者:赵钰莹 时间:2018-08-23 11:27:27 0 删除 编辑

本文为今日头条屏幕适配方案终极版,这是一个极低成本的 Android 适配方案!

主流机型参考:

Pixel 2 XL | 1440 x 2880 | 560dpi:

itpub

Pixel XL | 1440 x 2560 | 560dpi:

itpub

Nexus 5X | 1080 x 1920 | 420dpi:

itpub

Nexus 4 | 768 x 1280 | 320dpi:

itpub

Nexus S | 480 x 800 | 240dpi:

itpub

以上为主流机型设备信息,可以作为参考。

原理分析

对于老项目的使用,AndroidAutoSize 可以和 AndroidAutoLayout 一起使用,因为 AndroidAutoLayout 使用的是 px,所以 AndroidAutoSize 对它不会产生任何影响,如果老项目的某些页面之前使用了 dp 进行布局,并且 AndroidAutoSize 对这些页面已经产生了不良影响,可以让之前使用了 dp 的旧 Activity 实现 CancelAdapt 取消适配

Download

implementation 'me.jessyan:autosize:0.7.0'
Usage

Step 1 (真的不吹牛逼,只需要以下这一步,框架就可以对项目中的所有页面进行适配)

请在 AndroidManifest 中填写全局设计图尺寸 (单位 dp)

<manifest>
    <application>            
        <meta-data
            android:name="design_width_in_dp"
            android:value="360"/>
        <meta-data
            android:name="design_height_in_dp"
            android:value="640"/>           
     </application>           
</manifest>

Advanced (以下用法看不懂?答应我,认真看 Demo 好不好?)

当某个页面的设计图尺寸与在 AndroidManifest 中填写的全局设计图尺寸不同时,可以实现 CustomAdapt 接口扩展适配参数

public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {
    @Override
    public boolean isBaseOnWidth() {
        return false;
    }
    @Override
    public float getSizeInDp() {
        return 667;
    }
}

当某个页面想放弃适配,请实现 CancelAdapt 接口

public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {
}
ProGuard
 -keep class me.jessyan.autosize.** { *; }
 -keep interface me.jessyan.autosize.** { *; }

以上由Github用户JessYanCoding贡献在社区之上的内容,原项目地址:https://github.com/JessYanCoding/AndroidAutoSize/blob/master/README-zh.md

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31077337/viewspace-2212649/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-03-28

  • 博文量
    234
  • 访问量
    697161