Android系统采用下面几种方法来实现应用的自动适配:
1)布局文件中定义长度的时候,最好使用wrap_content,fill_parent, 或者dp 进行描述,这样可以保证在屏幕上面展示的时候有合适的大小
2)像素单位都使用DIP,文本单位使用SP
3)为不同屏幕密度的手机,提供不同的位图资源,可以使得界面清晰无缩放。对应bitmap 资源来说,自动的缩放有时会造成放大缩小后的图像变得模糊不清,这是就需要应用为不同屏幕密度配置提供不同的资源:为高密度的屏幕提供高清晰度的图像等。
4)不要使用AbsoluteLayout
5) 有些图片适合使用ninepath的,尽量使用ninepatch
6) 如果不想设计多套图片,那就设计最大的那套。压缩总比拉伸好
7)建立多个layout文件夹,文件夹名称为layout-800x480等。需要适应那种分辨率就写成什么。(这种方式太累了,还会导致应用大,不建议)
就图片这方面讲,一般来说,适配分辨率最高的就可以了,其他分辨率,系统会自动根据屏幕大小对图片进行压缩。不过,这么做的前提是不过分考虑特殊比例屏幕。不建议对各种分辨率分别出一套图,这样会导致app过大,而且制作成本也高。
对于设计师,针对Android这种手机,应该尽量把资源图片设计成可以拉伸的.9图,如果有渐变,尽量横向或竖向单方向渐变,这样能大大减小安装包大小,同时也能提高处理速度。
另:
android:layout_margin指该控件距离边父控件的边距,
android:padding指该控件内部内容,如文本距离该控件的边距。
ndroid:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。