在此处列出一些简单的配置图

点击下载配置文件               //文档就在下边,不用下载

原理:

1. px是分辨率的单位 比如现在主流手机分辨率1080*1920.

2. dp是安卓开发专有的单位 在 不同的手机下 1dp = 不同的 px.

3. sp是字体大小(前面清单文件中要求字体也用dp或者px),sp随系统字体大小变化而变化,但据我观察,像微信qq这些app的字体是不随系统显示字体大小变化的.

### 本库是按照设计图的宽度的值(单位px)和对应标准dpi来适配的(手机实际宽度相对于设计图增加或减少,高度同比例(这的比例是宽度增加或减少的比例)增加或减少),所有的布局控件都按这个比例(手机实际宽度/设计图宽度)来适配,在不同的分辨率,不同ppi(手机屏幕密度,又称为dpi),不同最小宽度(有的人喜欢去调开发者选项下面的最小宽度,主流手机默认为360dp)的手机下都做到了适配.

具体使用步骤:

  1. 导入依赖

implementation 'me.yatoooon:screenadaptation:1.0.9'

  1. 初始化

(1)在Application中:

ScreenAdapterTools.init(this);

//旋转适配,如果应用屏幕固定了某个方向不旋转的话(比如qq和微信),下面可不写.

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

ScreenAdapterTools.getInstance().reset(this);

}

  1. 在mainfest中AppLication中配置:

//设计图的宽,单位是像素,推荐用markman测量,量出来如果是750px那么请尽量去找ui设计师要一份android的设计图.

<meta-data
    android:name="designwidth"
    android:value="720" />

//设计图对应的标准dpi,根据下面的那张图找到对应的dpi,比如1080就对应480dpi,如果拿到的是其他宽度的设计图,那么选择一个相近的dpi就好了

<meta-data
    android:name="designdpi"
    android:value="360" />

//全局字体的大小倍数,有时候老板会觉得你的所有的字小了或者大了,你总不能一个一个去改吧
<meta-data
    android:name="fontsize"
    android:value="1.0" />

//你的布局里面用的是px这就写px,你的布局里面用的是dp这就写dp,要统一,不要一会儿px一会儿dp,字体也用px或者dp,不要用sp,微信qq用的肯定不是sp.
<meta-data
    android:name="unit"
    android:value="px" />

  1. 具体应用适配

(1)在Activity中,找到setcontentview(R.layout.xxxxxx)

//ScreenAdapterTools.getInstance().reset(this);//如果希望android7.0分屏也适配的话,加上这句

//在setContentView();后面加上适配语句

ScreenAdapterTools.getInstance().loadView((ViewGroup) getWindow().getDecorView());

 (2.)在Fragment或recyclerview,listview或gridview,viewpager,自定义view等等等,只要能找到布局填充器

public class TestFragment extends Fragment {

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.test_px, container, false);

//拿到布局填充器返回的view后

ScreenAdapterTools.getInstance().loadView((ViewGroup) view);

return view;

}

}

注: 自定义view的话,在  ScreenAdapterTools.getInstance().loadView((ViewGroup) view);   外面包裹一层判断如下,不然在使用自定义view编写布局文件时预览xml会有问题!但不影响真机运行效果.

if (!isInEditMode()) {

ScreenAdapterTools.getInstance().loadView((ViewGroup) view);

}

Android屏幕适配,包括全面屏适配,自定义适配相关推荐

  1. android 配置aspect_Android APP全面屏适配技术要点

    全面屏的概念 为什么先要解释一下全面屏,因为这个词在现在来讲就是一个伪命题.全面屏字面意思就是手机的正面全部都是屏幕,100%的屏占比.但是现在推出所谓"全面屏"手机的厂商没有一个 ...

  2. 苹果x css适配,CSS如何适配iPhone全面屏 CSS适配iPhone全面屏方法

    本篇文章小编给大家分享一下CSS适配iPhone全面屏方法,通过文中代码详细介绍了适配方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.media query方式 / ...

  3. android屏幕适配无效_Android屏幕适配之全面屏适配

    引言 从2017年开始,全面屏之战逐渐如火如荼的展开了,那么我们Android程序员又多了一个小事情,就是解决全面屏适配的问题. 全面屏和以前的屏幕相比,有以下几点改变 以前 16 : 9 的 比例 ...

  4. android大屏适配_Android 全面屏适配

    全面屏 mix.png 小米mix(18:9屏幕)的出现标志的Android手机进入全面屏时代,这个非主流的尺寸确实带来了更多的观赏性.虽然现在看起来可能已经没有那么惊艳了,但是想想他刚出现的时候超大 ...

  5. 小米android 18比9黑边,Android 全面屏黑边适配

    问题: 全面屏底部会出现黑边 原因: 全面屏宽高比例比较特殊,不是之前的16:9.例如小米mix2s,屏幕宽高比是18:9.Android默认支持的最大宽高比例是1.86,小于全面屏手机的宽高比例.所 ...

  6. Android 全面屏黑边适配

    问题: 全面屏底部会出现黑边 原因: 全面屏宽高比例比较特殊,不是之前的16:9(默认1.86 准确点应该是16.7:9).例如小米mix2s,屏幕宽高比是18:9.Android默认支持的最大宽高比 ...

  7. android 小米8底部黑色高度太高,Android 全面屏黑边适配

    问题: 全面屏底部会出现黑边 原因: 全面屏宽高比例比较特殊,不是之前的16:9(默认1.86 准确点应该是16.7:9).例如小米mix2s,屏幕宽高比是18:9.Android默认支持的最大宽高比 ...

  8. android实现底部弹出框与软键盘冲突(全面屏虚拟键适配)

    普通的底部弹出框大家都可以很熟练的使用了,无非是一个diaolog的事情,但是当dialog中含有输入框之后,软键盘与dialog的冲突可以说是十分坑了...更别说加上底部虚拟键了,这么一个小功能磨得 ...

  9. Android 全面屏的那些适配方法

    版权申明:未经允许请勿转载.转载前请先联系作者(hello@yeshen.org) 原本以为只是很简单的功能.虽然最后发现确实是简单的功能. 但是前前后的调整接近一天,这里留下记录,如何处理吧. 一. ...

  10. 全面屏手机的适配方案

    博客转移到:http://www.wangchengmeng.club/2018/02/01/%E5%85%A8%E9%9D%A2%E5%B1%8F%E6%89%8B%E6%9C%BA%E7%9A%8 ...

最新文章

  1. 信息检索导论的课件——http://home.ustc.edu.cn/~zhufengx/ir/pdf/
  2. (九)nodejs循序渐进-Express框架(进阶篇)
  3. android 6.0 adb,安卓6.0,adb停用系统更新
  4. 运行cudasift
  5. MOS管正确选择的步骤
  6. 关于 Java 字符串的全部,都在这份手册里了
  7. 随机模拟的基本思想和常用采样方法(sampling)
  8. 破译密码、设计飞机和建设团队:Randy Shoup谈高绩效团队
  9. Vmware View Client登陆后无法使用键盘输入
  10. Spring Boot 集成maven和Spring boot的profile功能
  11. PDF编辑器(widsmob pdfedit)v3.0.1
  12. 谷歌AI版“你画我猜”刷屏朋友圈 背后是这样的原理!
  13. python可以自动运行m文件吗_如何运行m文件而不启动matlab
  14. 切图工具:输出512*512切片大小的切片
  15. 如何判断视频的比例(4:3/16:9)和分辨率?
  16. 小试mini210sGPIO驱动Led灯
  17. 计算机三级网络技术最全知识点总结【2】
  18. 【FER文献阅读】Deep Facial Expression Recognition: A Survey (Shan Li and Weihong Deng)
  19. 虚拟专用网协议之PPTP
  20. 计算机控制总线应用,基金会现场总线FF技术在焦炉计算机控制系统的应用

热门文章

  1. html环绕方式,word文档的文字环绕方式有哪几种
  2. 苏格拉底和孔子的区别
  3. java获取文件和照片创建时间
  4. 《混沌起源》8.3正式上线链游玩家 | 心动交友、并肩作战
  5. python selenium安装教程 谷歌驱动_selenium 安装与chromedriver安装的方法步骤
  6. C语言异或交换两个数的原理解析-大厂面试题:不使用第三变量交换两个数的值
  7. Python 协程简介
  8. OS X经典的诗歌命令行工具
  9. python-conda更新python(python升级)
  10. Mysql架构与内部模块