Android 屏幕适配,转化为dpi

jopen 9年前

Android 屏幕适配,转化为dpi

在本次项目中,我负责不同手机视图的匹配问题,我选择的是xml匹配方式。首先美工切图,直接切一套720*1280的。(也可以是1080的)
转化公式:px = dp *(dpi/160)
即320*480的分辨率的 dpi=160
所以针对Android手机,我们需要分别计算4个不同的dimens.xml放在values-hdpi、values-mdpi、values-xhdpi、values-xxhdpi文件中,具体的你们用excel计算下就可以了。

注意

做完之后,运行软件,结果发现按上面的方式做了之后,对应分辨率的手机的显示没有任何的效果。后来,我查看帮助文档后,发现必须要在androidmainfest中进行如下代码的配置:

  <supports-screens            android:anyDensity="true"            android:largeScreens="true"            android:normalScreens="true"            android:resizeable="true"            android:smallScreens="true"            android:xlargeScreens="true" />

如果没有这几行代码,不管你怎么调整layout中的控件,对应分辨率的手机是没有任何效果的。注意:由于android版本的不同,
有些版本不支持xlargeScreens,可以直接将android:xlargeScreens=”true”去掉。