让android支持不同的语言、屏幕

1.  支持不同的语言


MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml

默认values文件夹中存放的是locale。用-加上ISO country code : http://www.isocountrycode.com/

http://blog.chinaunix.net/uid-23933445-id-99701.html

android系统会在app运行时自动加载相应的资源。



2. 支持不同的屏幕大小,以及屏幕方向


  • There are four generalized sizes: small, normal, large, xlarge
  • And four generalized densities: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)

MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml

对于不同的density,提供不同的图片会获得较好的图像质量。

density: 

  • xhdpi: 2.0
  • hdpi: 1.5
  • mdpi: 1.0 (baseline)
  • ldpi: 0.75
如果为xhdpi设备产生 200X200的image,那么也该为hdpi设备产生150*150的image, mdpi设备 100*100的image,ldpi设备 75*75

MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png

Any time you reference @drawable/awesomeimage, the system selects the appropriate bitmap based on the screen's density.

Note: Low-density (ldpi) resources aren’t always necessary. When you provide hdpi assets, the system scales them down by one half to properly fit ldpi screens.

ldpi 资源并不是必须的,当我们提供hdpi资源时,系统会自动压缩来适合ldpi屏幕。


你可能感兴趣的:(让android支持不同的语言、屏幕)