Android 屏幕适配

App 全面屏适配

AndroidManifest.xml
1
2
3
4
5
6
7
8
9
<!--刘海屏适配-->
<meta-data
android:name="android.max_aspect"
android:value="2.2" />

<!--小米水滴屏适配(横竖屏都绘制到耳朵区)-->
<meta-data
android:name="notch.config"
android:value="portrait|landscape" />

VIVO开放平台

OPPO开放平台

小米开放平台


其他

像素-px;一个小黑点就是一个像素
屏幕尺寸;对角线的长度
屏幕分辨率;宽高两者的像素值之积
像素密度-dpi;每英寸中的像素数,分辨率长或宽/屏幕长或宽(单位;英寸),对应于DisplayMetrics类中属性densityDpi的值
密度-density;每平方英寸中的像素数,dpi/160,对应于DisplayMetrics类中属性density的值,可用于转换;dp=px/density
设备独立像素-dip-dp;不同设备有不同的显示效果,不依赖像素。
dp=px/density
dp=px/(dpi/160)
dpi(像素密度)为160的设备上,1dp=1px
放大像素-sp;用于字体显示,会跟随设备字体字号而改变大小。

dp转px;
public static int dp2px(Context mContext,int dp){
return (int) (dp * mContext.getResources().getDisplayMetrics().density + 0.5);
}
px转dp;
public static int px2dp(Context mContext,int px){
return (int)(px/mContext.getResources().getDisplayMetrics().density+0.5);
}
注;0.5是为了避免损失精度。

常见设备的关系;
ldpi;

切图;只看大概界面样式和布局,具体实现自己把控
图片适配;
drawable-ldpi;低分辨率(一般不在用)
drawable-mdpi;中分辨率
drawable-hdpi;高分辨率
drawable-xdpi;较高分辨率
drawable-xxdpi;超级高分辨率(推荐,可以向下和向上兼容,节省资源)
drawable-xxxdpi;顶级分辨率
图标使用svg格式,图片使用png,svg大小约是png的1/4
布局适配;
比如;layout-800480
layout-1280
720
根据手机大小使用不同布局,但使用情况非常少,因为占用资源太多。
权重适配;
当布局占满屏幕宽或高时,或有固定宽或高时,子布局可以使用权重适配,常见于LinearLayout线性布局中。
尺寸适配;(dimens适配)
values-400320;创建dimens.xml文件

2.0px

values-800
480;创建dimens.xml文件

3.0px

代码中;R.dimen.x2
布局中;@dimen/x2
代码适配
Button btn=new Button(this);
// Button btn=(Button) findViewById(R.id.btn);
// 获取手机屏幕的宽高
int widthPixels=getResources().getDisplayMetrics().widthPixels;
int heightPixels=getResources().getDisplayMetrics().heightPixels;
// 给Button设置宽高
ViewGroup.LayoutParams params=new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
// ViewGroup.LayoutParams params=btn.getLayoutParams();
params.width=widthPixels/2;
params.height=heightPixels/2;
btn.setLayoutParams(params);

https://mp.weixin.qq.com/s/BwFnIh7FBqjAYuO5zEQtWw

https://mp.weixin.qq.com/s/6LJj28V3uiUtzI0LFHzj8A

https://mp.weixin.qq.com/s/6CeizbnQl8bmpEiZcbhFqw

https://mp.weixin.qq.com/s/xrIlX7JMouyogTsc5oFeXw


备注

欢迎关注微信公众号:非也缘也