多屏幕适配器

发布日期: 2012-06-27 00:00:00
点击次数: 3435
大字 小字

1 首先应该在res下面建立三个文件分别是Layout_hdpi,layout_mdip,layout_ldpi文件,里面方相同的布局文件,layout文件里面什么也放(默认是layout),

如果一个大屏手机适配的话,适配的顺序是layout_hdpi->layout_mdpi->layout->layout_ldpi;

如果一个中屏手机适配的话,适配的顺序是layout_mdpi->layout->layout_hdpi->layout_ldpi;

如果一个小屏手机适配的话,适配的顺序是layout_ldpi->layout->layout_mdpi->layout_hdpi;

2 然后

你需要在AndroidManifest.xml文件的<manifest>元素如下添加子元素

<supports-screens 
android:largeScreens="true"   是否支持大屏
          android:normalScreens="true"  是否支持中屏
          android:smallScreens="true"   是否支持小屏
          android:anyDensity="true"     是否支持多种不同密度
/> 

<supports-screens android:largeScreens="true"

       android:normalScreens="true" android:anyDensity="true"

       android:smallScreens="true"></supports-screens>

 

     名如其意,以上是为我们的屏幕设置多分辨率支持(更准确的说是适配大、中、小三种密度)。android:anyDensity="true" 这一句对整个的屏幕都起着十分重要的作用,值为true,我们的应用程序当安装在不同密度的手机上时,程序会分别加载hdpi,mdpi,ldpi文件夹中的资源。

 相反,如果值设置为false,即使我们在hdpi,mdpi,ldpi文件夹下拥有同一种资源,那么应用也不会自动地去相应文件夹下寻找资源,这种情况都是出现在高密度,以及低密度的手机上,比如说一部240×320像素的手机,如果设置android:anyDensity="false"Android系统会将240 x 320(低密度)转换为 320×480(中密度),这样的话,应用就会在小密度手机上加载mdpi文件中的资源。

 

这只是我个人的想法,如有不正确的地方,请指正一下,阿弥陀佛,谢谢啦

返回顶部