Android兼容不同的设备

App中包含一些可选资源,针对不同的屏幕尺寸和分辨率,来优化其外观。

  • 有4种普遍尺寸:小(small),普通(normal),大(large),超大(xlarge)
  • 4种普遍分辨率:低精度(ldpi), 中精度(mdpi), 高精度(hdpi), 超高精度(xhdpi)

创建不同的layout

//通过添加修饰符来申明适应不同屏幕的layout
 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

创建不同的Bitmap

我们应该为4种普遍分辨率:低,中,高,超高精度,都提供相适配的bitmap资源。这能使我们的app在所有屏幕分辨率中都能有良好的画质和效果。

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

设计好不同分辨率的图片放至相应的文件夹下就可以了。

匹配不同系统版本

指定最小和目标API级别

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
     ...
</manifest>

运行时检查系统版本

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

当代码中出现旧版本的东西的时候,系统默认忽略,而不会差生错误。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容