http://www.eoeandroid.com/thread-157865-1-1.html
http://developer.android.com/guide/practices/screens_support.html
res目录下的文件夹有什么用?
我们可以看到在res目录下有drawable-hdpi, drawable-mdpi, drawable-ldpi, drawable-xhdpi目录。这些目录是用来存放图片的。举例来说,高精度的图片应该放在drawable-hdpi目录下。
For example, bitmaps for high-density screens should go in drawable-hdpi/
ldpi (low),
mdpi (medium),
hdpi (high),
xhdpi (extra high)
在res目录下的文件说明:
res/layout/my_layout.xml
// layout for normal screen size ("default")
res/layout-small/my_layout.xml
// layout for small screen size
res/layout-large/my_layout.xml
// layout for large screen size
res/layout-xlarge/my_layout.xml
// layout for extra large screen size
res/layout-xlarge-land/my_layout.xml
// layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png
// bitmap for medium density
res/drawable-hdpi/my_icon.png
// bitmap for high density
res/drawable-xhdpi/my_icon.png
// bitmap for extra high density
如果要支持横屏和竖屏,应该怎么办呢?有些手机竖屏的时候布局很漂亮,横屏的时候图片就被拉长了。这时候我们就需要准备两套图片。一套是横屏的时候用,一套是竖屏的时候用。
横竖屏图片如何自适应?
首先在res目录下建立两个新目录。一个为drawable-port,用来存放竖屏的时候显示的图片。另外一个为drawable-land,用来存放横屏的时候显示的图片。
两个目录里的文件名保存一致,就可以了。横屏的时候自动用drawable-land里的图片,竖屏的时候自动用drawable-port里的图片了。
如何适应各种不同的分辨率?
众所周知,Android机的分辨率非常多。如果需要适应几种分辨率,就需要自己在res目录下建立多个drawable文件夹。如要适应480*640的分辨率,就建立一个目录叫drawable-640*480。如要适应800*600的,就建目录drawable-800*600.
注意:
1.较大的数字要写在前面:比如drawable-854x480而不能写drawable-480x854.
2.两个数字之前是小写字母x,而不是乘号。
最后还需要在AndroidManifest.xml里添加下面一段,没有这一段自适应就不能实现:
</application>
<supports-screens
android:largeScreens=
"true"
android:normalScreens=
"true"
android:anyDensity =
"true"
/>
</manifest>
在</application>标签和</manifest> 标签之间添加上面那段代码。即可。
不同分辨率的横竖屏如何实现?
如果有两个分辨率,一个是800*480,一个是480*320,都要支持横竖屏。如何实现呢?即需要四组文件。在res下新建四个目录。
对应800*480,需要有一套横着的图片,一套竖着的图片。那么这两个文件夹名就是
drawable-land-800x480 横着的
drawable-port-800x480 竖着的
对应480*320,这两个文件夹就是:
drawable-land-480x320
drawable-port-480x320