lesson 2 Supporting Different Devices

来源:互联网 发布:最新版软件开发合同 编辑:程序博客网 时间:2024/06/09 13:47

Supporting Different Devices

1 Supporting Different Languages支持不同的语言

To add support for more languages, create additional values directories inside res/ that include a hyphen and the ISO language code at the end of the directory name. For example, values-es/ is the directory containing simple resourcess for the Locales with the language code “es”. Android loads the appropriate resources according to the locale settings of the device at run time. For more information, see Providing Alternative


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

2 Supporting Different Screens支持不同的屏幕

Android categorizes device screens using two general properties: size and density

2.1 There are four generalized sizes: small, normal, large, xlarge

Each layout should be saved into the appropriate resources directory, named with a -<screen_size> suffix


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

Note: Android 3.2 and above supports an advanced method of defining screen sizes that allows you to specify resources for screen sizes based on the minimum width and height in terms of density-independent pixels. This lesson does not cover this new technique. For more information, read Designing for Multiple Screens.

2.2 And four generalized densities: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)

  • xhdpi: 2.0
  • hdpi: 1.5
  • mdpi: 1.0 (baseline)
  • ldpi: 0.75

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

3 Supporting Different Platform Versions支持不同的android版本

  • 3.1 Specify Minimum and Target API Levels

  • 3.2 Check System Version at Runtime


private void setUpActionBar() {// Make sure we're running on Honeycomb or higher to    use ActionBar APIs    if (Build.VERSION.SDK_INT >=    Build.VERSION_CODES.HONEYCOMB) {        ActionBar actionBar = getActionBar();        actionBar.setDisplayHomeAsUpEnabled(true);    }}
  • 3.3 Use Platform Styles and Themes
0 0
原创粉丝点击