zoukankan      html  css  js  c++  java
  • android studio----设备兼容

    一.配置不同语言

      设置不同的语言可以简单通过工程的资源目录来轻松实现这一功能。

      为设置多国语言,可以在res/下创建额外的values目录(以连字符和ISO国家代码结尾命名),比如values-es/是为语言代码为"es"的区域设置的简单的资源文件的目录。然后再values目录下创建strings文件,将不同语言对应的字符串输入到相应的文件。

    如: 
    res/
       values/                   
           strings.xml
      values-ko/                ------韩语
        strings.xml          
      values-fr/             ------法语
        strings.xml
      values-es                 ------西班牙语
        strings.xml  
    

    新建后如图:

      

      然后再对应的strings文件中填入对应语言的字符串。

    韩语(values-ko/strings.xml):
            <string name="title">운용</string>
            <string name="hello_world">안녕</string>
    法语(values-fr/strings.xml):
            <string name="title">Mon Application</string>
            <string name="hello_world">Bonjour le monde !</string>
    西班牙语(values-es/strings.xml):
            <string name="title">Mi Aplicación</string>
            <string name="hello_world">Hola Mundo!</string>
    

       在手机中设置系统语言,app中对应字符显示就会显示对应语言的字符串。 

    二.配置不同屏幕

    补充知识:

    • 4种普遍尺寸:小(small),普通(normal),大(large),超大(xlarge)
    • 4种普遍分辨率:低精度(ldpi), 中精度(mdpi), 高精度(hdpi), 超高精度(xhdpi)
    • 横屏(land),默认为竖屏。

    1.不同的layout:

      与不同语言配置相似,在res新建资源目录(目录以layout-<screen_size>为后缀命名),例如:

    res/layout-large/。然后再不同目录下创建命名相同的布局,根据屏幕自定义布局。

    例如:

     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 

    2.不同的bitmap:

      实现过程类似layout,我们为4种普遍分辨率:低,中,高,超高精度,提供相对应的bitmap资源。使得有更好的画质。

      四种分辨率生成密度如下:

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

    三.配置不同系统版本

      在Manifest.xml文件(build.gradle中)中描述支持的版本。具体来说,<uses-sdk>元素中的minSdkVersiontargetSdkVersion 属性,标明在设计和测试app时,最低兼容API的级别和最高适用的API级别。 

    minifest.xml中:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
        <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
        ...
    </manifest>
    
    在build.gradle中:
     android {
        defaultConfig {
            minSdkVersion 19
            targetSdkVersion 25
        ...  
        }
    }
    

    运行时检测系统版本:

      在运行可能会不兼容的程序时,利用Build常量中供了对每一个版本的唯一代号,在我们的app中使用这些代号可以建立条件,保证依赖于高级别的API的代码,只会在这些API在当前系统中可用时,才会执行。

    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);
        }
    }
    

      

      

  • 相关阅读:
    Platform创建WinCE内核时的编译错误
    evc4下载
    WinCE NK.bin与NK.nb0
    怎样安装SQL Server CE
    WinCE 5.0 & its eboot
    WinCE 5.0边做边学(4)
    nema协议解析
    wince romfs的一点讨论
    学习VC++时经常会遇到链接错误LNK2001
    wince 来电防火墙静音实现的几种办法
  • 原文地址:https://www.cnblogs.com/slothccc/p/7381579.html
Copyright © 2011-2022 走看看