android关于屏幕适配的几点提议
android关于屏幕适配的几点建议
1、使用wrap_content、match_parent、weight;
2、使用相对布局,尽量不使用绝对布局;
3、使用限定符,如:layout-large/xxx.xml,这样大屏设备就会自动使用该布局;
4、使用最小宽度限定符,如:layout-sw700dp/xxx.xml,这样当屏幕的宽度超过700dp时就会使用该布局;
5、针对不同的分辨率,提供具体的布局,如:res/layout-800x480/xxx.xml;
6、使用布局别名
如:layout下面有个布局mylayout.xml
在layout-large/xxx.xml里面使用mainlayout作为别名
8、使用dp,sp而不是px来作为长度单位;
9、提供大小不同的位图,如:mdpi,hdpi等目录下面要有相对应的位图;
1、dp与Px的换算规则:以160dpi(密度)为基准,1dp=1px,若密度是320dpi,则1dp=2px,以此类推。
2、mdpi,hdpi等目录并不需要全部都放上图片,这样会使apk占用的存储空间变大,建议对那些比较重要的图片提供多个分辨率,不很重要的只提供一张即可。
1、使用wrap_content、match_parent、weight;
2、使用相对布局,尽量不使用绝对布局;
3、使用限定符,如:layout-large/xxx.xml,这样大屏设备就会自动使用该布局;
4、使用最小宽度限定符,如:layout-sw700dp/xxx.xml,这样当屏幕的宽度超过700dp时就会使用该布局;
5、针对不同的分辨率,提供具体的布局,如:res/layout-800x480/xxx.xml;
6、使用布局别名
如:layout下面有个布局mylayout.xml
在layout-large/xxx.xml里面使用mainlayout作为别名
<resources> <item name="mainlayout" type="layout">@layout/mylayout</item> </resources>7、使用.9图片,只需要有一张放在drawable下面即可;
8、使用dp,sp而不是px来作为长度单位;
9、提供大小不同的位图,如:mdpi,hdpi等目录下面要有相对应的位图;
10、判断加载的布局来决定走不同的流程,如下:
setContentView(R.layout.main_layout);//此处会根据屏幕大小加载不同的布局 Button btn1 = (Button)findViewById(R.id.btn1);//其中一个布局没有该按钮 if(btn1 == null){ ... }else{ ... }小提示:
1、dp与Px的换算规则:以160dpi(密度)为基准,1dp=1px,若密度是320dpi,则1dp=2px,以此类推。
2、mdpi,hdpi等目录并不需要全部都放上图片,这样会使apk占用的存储空间变大,建议对那些比较重要的图片提供多个分辨率,不很重要的只提供一张即可。
- 2楼lxx9101082016-06-13 11:43
- 666666666
- Re: wdong_love_cl2016-06-13 11:44
- 回复lxx910108n~~~~~~~~~~~
- 1楼mojingxuan2016-06-13 10:38
- 关于适配问题,我在爱码哥移动开发平台中也有看过,在资源里default文件夹中放入照片可以达到适配的问题,不需要写任何代码,这点特别好,还有只要编写一套代码就可以开发出Android和iOS两个系统的原生app,可以试试哦nhttp://www.imagapp.com/
- Re: wdong_love_cl2016-06-13 11:28
- 回复mojingxuann好像很腻害的样子呢!