关于andorid开发中的一些适配,屏幕适配,版本适配,语言适配.9图片的使用要求

Android中的适配分为三方面
一、语言适配(I18N语言国际化)
   MyProject/
     res/
        values/
            strings.xml
        values-es/
            strings.xml
        values-fr/
            strings.xml

  1.在res文件夹下创建不同的values文件后缀为当前需要适配的语言编码
  2.不同的values文件夹下文件名称和文件结构完全相同 唯一不同就是<String>标签中的内容不同
    需要根据指定的语言编码设置
  3.当app发布到设备时 系统会检测当前的语言设置 如果存在当前设备的语言就加载相应的文件夹中的字符串
  如果没有进行适配 调用默认的strings.xml文件中的字符串


二、屏幕适配
 屏幕适配分两方面:屏幕的尺寸 屏幕的密度(分辨率)(其实说到这里应该简单的在穿插一些关于dip,dp,sp,px之间的关系这个放到最后说)

有四种广义的尺寸:小,正常,大, XLARGE
他们的标准尺寸分别为:
超大屏幕至少960dp x 720dp
大屏幕至少640dp x 480dp
标准屏幕至少470dp x 320dp
小屏幕至少426dp x 320dp


 六种广义密度:低( LDPI )120 ,中( MDPI )160 ,高(华电国际)240 ,特高( xhdpi )320++
分别为:
 ldpi (low) ~120dpi
 mdpi (medium) ~160dpi
 hdpi (high) ~240dpi
 xhdpi (extra-high) ~320dpi
 xxhdpi (extra-extra-high) ~480dpi
 xxxhdpi (extra-extra-extra-high) ~640dpi

 屏幕的尺寸(布局文件)
 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
         layout-sw600dp       #七寸平板以上
             main.xml
  1.根据需求提供多套需要的布局文件  布局文件的名称必须相同 文件的内容可以不同
  2.当app发布到设备时 系统会检测设备的屏幕尺寸大小从而决定调用哪个layout下的布局文件


  屏幕密度(分辨率)
  1.为app提供多套不同分辨率的图片
  MyProject/
      res/
          drawable-xhdpi/
              awesomeimage.png
          drawable-hdpi/
              awesomeimage.png
          drawable-mdpi/
              awesomeimage.png
          drawable-ldpi/
              awesomeimage.png

xhdpi: 2.0
hdpi: 1.5
mdpi: 1.0 (baseline)
ldpi: 0.75
   例如:如果你生成一个200x200的图像xhdpi设备,就应生成设备相同的资源在150×150的hdpi,
    100×100的MDPI和75x75 Ldpi 。

 2.9patch图片的使用
   9patch一般来说是以纯色图片作为背景使用 拉伸时边缘不会出现锯齿
   9patch在app最终打包生成apk时比一般的图片占空间小
(下边是制作的位置,如果你使用的是studio的话,这样也是通用的,不过有更简单的方式,
打开studio的放置图片的资源文件,选择你需要制作成.9的图片,
右键选择Create 9-patch file,点击确定,你会发现你的图片资源文件中的某张图片,
多了一张.9格式的)
   sdk-tools-draw9patch....


三、平台适配(版本适配)
1.指定最小和目标的API级别
(这里建议多使用一些v4,v7,v13..的包,这些都是带有向下兼容的包,但是不是兼容一些)
2.运行时检查系统版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        //在使用一些新sdk中出现的组件或者是控件时需要判断当前app所在的设备的sdk
        版本是否已经能够使用该组件
 }

3.使用的平台风格和主题




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值