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

本文探讨了Android应用如何支持多种语言及不同屏幕尺寸与方向的开发策略,包括资源文件组织、不同密度图片提供以及系统自动适配的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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屏幕。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值