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);
}
}
当代码中出现旧版本的东西的时候,系统默认忽略,而不会差生错误。
网友评论