android 如何适用不同屏幕
控件宽度和高度尽量用match_parent或wrap_content这样的的设置,如果写死宽度,单位用dp,字体大小用sp。
容器尽量用相对布局和线性布局。相对布局做适配,在不同大小的屏幕上面都有不错的展现效果。
多研究下线性布局,子控件可以设置layout_weight,这个比重做适配也是常用的。
理解如何使用资源文件修饰符如ldpi、xxhdpi、land、sw600dp、v11等,这里要不详述。这是比较常用的用法。
多用dimens来灵活活控制不同分辨率上视图的大小、间距等,可以添加多个values(带不同修饰符的),分别写入对应的大小是多少dp。
在代码里面动态控制。这种方法要求比较高,但有时候很有效。比如你有一张图片,你希望是显示成屏幕宽度的15%,那么你可以在代码里面获取到屏幕的宽度,然后乘以这个百分比,设置为这个图片的宽度。
明白哪些布局适配屏幕比较容易,什么样的设计可以在不同的屏幕上更轻松的展现,这也是很重要的。也就是说,你需要设计一下你的UI视图,尽量做到在不同的屏幕上可以轻松适配。
大概就这几种思路,其实修饰符那里名堂比较多,工作量也比较大。比如drawable加修饰符要放几套图片,layout加修饰符要多写一些布局(只针对个别显示效果不理想的做就好了),values加修饰符配合dimens等。