Android屏幕适配,包括全面屏适配,自定义适配
在此处列出一些简单的配置图
点击下载配置文件 //文档就在下边,不用下载
原理:
1. px是分辨率的单位 比如现在主流手机分辨率1080*1920.
2. dp是安卓开发专有的单位 在 不同的手机下 1dp = 不同的 px.
3. sp是字体大小(前面清单文件中要求字体也用dp或者px),sp随系统字体大小变化而变化,但据我观察,像微信qq这些app的字体是不随系统显示字体大小变化的.
### 本库是按照设计图的宽度的值(单位px)和对应标准dpi来适配的(手机实际宽度相对于设计图增加或减少,高度同比例(这的比例是宽度增加或减少的比例)增加或减少),所有的布局控件都按这个比例(手机实际宽度/设计图宽度)来适配,在不同的分辨率,不同ppi(手机屏幕密度,又称为dpi),不同最小宽度(有的人喜欢去调开发者选项下面的最小宽度,主流手机默认为360dp)的手机下都做到了适配.
具体使用步骤:
- 导入依赖
implementation 'me.yatoooon:screenadaptation:1.0.9'
- 初始化
(1)在Application中:
ScreenAdapterTools.init(this);
//旋转适配,如果应用屏幕固定了某个方向不旋转的话(比如qq和微信),下面可不写.
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
ScreenAdapterTools.getInstance().reset(this);
}
- 在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)在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屏幕适配,包括全面屏适配,自定义适配相关推荐
- android 配置aspect_Android APP全面屏适配技术要点
全面屏的概念 为什么先要解释一下全面屏,因为这个词在现在来讲就是一个伪命题.全面屏字面意思就是手机的正面全部都是屏幕,100%的屏占比.但是现在推出所谓"全面屏"手机的厂商没有一个 ...
- 苹果x css适配,CSS如何适配iPhone全面屏 CSS适配iPhone全面屏方法
本篇文章小编给大家分享一下CSS适配iPhone全面屏方法,通过文中代码详细介绍了适配方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.media query方式 / ...
- android屏幕适配无效_Android屏幕适配之全面屏适配
引言 从2017年开始,全面屏之战逐渐如火如荼的展开了,那么我们Android程序员又多了一个小事情,就是解决全面屏适配的问题. 全面屏和以前的屏幕相比,有以下几点改变 以前 16 : 9 的 比例 ...
- android大屏适配_Android 全面屏适配
全面屏 mix.png 小米mix(18:9屏幕)的出现标志的Android手机进入全面屏时代,这个非主流的尺寸确实带来了更多的观赏性.虽然现在看起来可能已经没有那么惊艳了,但是想想他刚出现的时候超大 ...
- 小米android 18比9黑边,Android 全面屏黑边适配
问题: 全面屏底部会出现黑边 原因: 全面屏宽高比例比较特殊,不是之前的16:9.例如小米mix2s,屏幕宽高比是18:9.Android默认支持的最大宽高比例是1.86,小于全面屏手机的宽高比例.所 ...
- Android 全面屏黑边适配
问题: 全面屏底部会出现黑边 原因: 全面屏宽高比例比较特殊,不是之前的16:9(默认1.86 准确点应该是16.7:9).例如小米mix2s,屏幕宽高比是18:9.Android默认支持的最大宽高比 ...
- android 小米8底部黑色高度太高,Android 全面屏黑边适配
问题: 全面屏底部会出现黑边 原因: 全面屏宽高比例比较特殊,不是之前的16:9(默认1.86 准确点应该是16.7:9).例如小米mix2s,屏幕宽高比是18:9.Android默认支持的最大宽高比 ...
- android实现底部弹出框与软键盘冲突(全面屏虚拟键适配)
普通的底部弹出框大家都可以很熟练的使用了,无非是一个diaolog的事情,但是当dialog中含有输入框之后,软键盘与dialog的冲突可以说是十分坑了...更别说加上底部虚拟键了,这么一个小功能磨得 ...
- Android 全面屏的那些适配方法
版权申明:未经允许请勿转载.转载前请先联系作者(hello@yeshen.org) 原本以为只是很简单的功能.虽然最后发现确实是简单的功能. 但是前前后的调整接近一天,这里留下记录,如何处理吧. 一. ...
- 全面屏手机的适配方案
博客转移到: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 ...
最新文章
- 信息检索导论的课件——http://home.ustc.edu.cn/~zhufengx/ir/pdf/
- (九)nodejs循序渐进-Express框架(进阶篇)
- android 6.0 adb,安卓6.0,adb停用系统更新
- 运行cudasift
- MOS管正确选择的步骤
- 关于 Java 字符串的全部,都在这份手册里了
- 随机模拟的基本思想和常用采样方法(sampling)
- 破译密码、设计飞机和建设团队:Randy Shoup谈高绩效团队
- Vmware View Client登陆后无法使用键盘输入
- Spring Boot 集成maven和Spring boot的profile功能
- PDF编辑器(widsmob pdfedit)v3.0.1
- 谷歌AI版“你画我猜”刷屏朋友圈 背后是这样的原理!
- python可以自动运行m文件吗_如何运行m文件而不启动matlab
- 切图工具:输出512*512切片大小的切片
- 如何判断视频的比例(4:3/16:9)和分辨率?
- 小试mini210sGPIO驱动Led灯
- 计算机三级网络技术最全知识点总结【2】
- 【FER文献阅读】Deep Facial Expression Recognition: A Survey (Shan Li and Weihong Deng)
- 虚拟专用网协议之PPTP
- 计算机控制总线应用,基金会现场总线FF技术在焦炉计算机控制系统的应用