Android 适配总结

## Android 适配总结

### values-swxxdp用来做适配,表示最小宽度

最小宽度计算方法

```java

sw=160*手机宽度像素/dpi

```

### dpi获得方式

```java

dpi= context.getResources().getDisplayMetrics().densityDpi

比如我的vivo x7plus分辨率为1080*1920

根据上面公式得到dpi=480

那么

sw=160*1080/480=360dp

所以会在values-sw360dp下找相对应的尺寸dimens

```

### px,dp换算

```java

1 px = 1dp * density(由DPI决定)

1

density = dpi / 160

所以vivox7plus density=3

所以在1080*1920的ui图上300px等于100dp

```

## 部分常用手机数据

pixel2

560dpi

分辨率: 1440*

sw= 1440*160/560= 411

红米note5

DisplayMetrics{density=2.75, width=1080, height=2009, scaledDensity=2.75, xdpi=403.411, ydpi=403.411}

5.99英寸英寸的2160×1080

440dpi

sw= 1080*160/440= 392.8

TIPS: 奇怪的是用sw380无法适配到,用sw365才能适配的到




pixel,一加 6

420dpi

sw:1080 *160/ 420  =411

vivo Y79A

320dpi

720

sw: 720*160/320= 360

sw=160*手机宽度像素/dpi

1080 *160/ 420  =411

dpi= context.getResources().getDisplayMetrics().densityDpi

pu

## DisplayMetrics 类中定义的变量

DENSITY_XXXHIGH = 640; 4:

480 xxhdpi 3

6

320 xhdpi 2

240 hdpi: 1.5

160 dpi :: 基准:1

## Sketch 配合使用

1.  图片使用 XXHDPI@3X图片,放在 Drawable-xxHDPI里面

2.  布局直接放在layout中,使用 xhdpi的标注数值。

你可能感兴趣的:(Android 适配总结)