1、App支持多语言,在values文件夹下建立一个里要支持的国家的语言,每一个国家语言都会有一个文件夹对应,例如使用AndroidStudio,在res下右键选择Android resource Directory
然后在Available qualifers可用限定符中选择Local,在language中搜索对应语言的英文说法,找到对应代号即可。
2、App支持多种屏幕尺寸。
a) 在res下可以使用尺寸限定符建立多套布局layout文件,layout-large,layout-sw600dp
b) 在res下可以使用多套图片,将不同分辨率的图片放到对应的drawable下,
xhdpi: 2.0
hdpi: 1.5
mdpi: 1.0 (baseline)
ldpi: 0.75
c) 在布局时使用“wrap_content”和“match_parent”
d) 使用weight按照比例缩放,来限制控件宽高,但是对于textview这样需要显示文字的控件如果用weight属性就要保证文字能够清晰显示出来,不要出现显示不全的问题。
e) 使用java代码控制,控制控件的layoutparams,或者自定义控件重写测量方法来实现这是最一劳永逸的了。
F) 使用相对布局,使用.9.png图片自适应拉伸
G) 请务必使用 dp 或 sp 单位指定尺寸,两者类似,这些值不会随着屏幕的分辨率而改变,只是sp会根据用于调整系统字体大小而发生改变,反应在各种屏幕上的大小都是一样的。字体一般使用sp,但是如果要适配字体,在不同屏幕上自由缩放的话就要使用sp了。然后针对各种屏幕定义好多个sp值了
A set of six generalized densities:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
3、App支持多版本,指定最小和目标api。来规避排除不适用的版本
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
...
</manifest>
进行检查系统版本 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}