让应用自动适配多个分辨率的屏幕,是每个android程序员的基本功,就好像前端工程师熟练编写CSS Hack一样。适配工作中一个重要的工作就是对页面的调整。
对于页面的适配,有很多的方法和技巧。比如布局中尽量使用wrapcontent ,fillparent,尽量避免具体的数字,由系统来计算合适的宽高;或者为每个分辨率写一套布局文件,设置对应分辨率下控件的宽高;
为每一个分辨率写一套布局文件虽然够独立,够简单。但是维护起来成本较高。一个页面的改动,往往涉及多个布局文件的改动,让人很痛苦。
小技巧我们可以尝试只写一套xml布局,然后为该布局准备多套dimension文件。
说的详细一点就是,xml布局中组件的宽高,不要使用具体的数值来表示,而是配置到dimension文件中。每套dimension文件中数值的大小都是成比例计算出来。
比如在1980*1080分辨率下,定义 px15表示15px
<dimen name= "px15" >15px</ dimen>那么在 1080 * 720分辨率下,px15要成比例缩小1.5倍, 定义px15 表示 10px
<dimen name= "px15" >10px</ dimen>所以在xml布局文件中,我们可以这样来表示:
<LinearLayout android:layout_width="@dimen/px150" android:layout_height="@dimen/px15" android:orientation="vertical" > …… …… </LinearLayout>
这套布局文件中的LinearLayout 在1980 * 1080 分辨率下的宽高为 150 x 15 , 在 1080 * 720分辨率下的宽高就会自动变成 100 * 10
其他分辨率同理
疑问1.有的同学会疑问,这样不就变成需要维护多套dimenson文件了?换汤不换药呀?
其实不然,对于dimension文件我们可以使用代码来控制生成,数值范围可以根据自己的情况来。其他分辨率下只需要按照相应比例,使用代码算一下即可。
编写一个这样的生成代码并不难,下篇文章我们再给出。
生成完毕后,Values 目录结构如下:
2. 按比例计算布局一定可靠吗,会不会出现混乱的现象
有可能会,这个时候就需要协调布局使用的宽高,选择合适的宽高让页面在各个分辨率下,看起来不算离谱就行,不一定严格按照设计来。大部分页面是兼容的。
下一篇文章,我们给出自动生成这些dimension文件的代码。
原文链接:http://www.67tgb.com/?p=573
转载注明出处:望月听涛
DHCP
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:
1.给内部网络或网络服务供应商自动分配IP地址
2.给用户给内部网络管理员作为对所有计算机作中央管理的手段。
方法一:dhclient
1.下载
https://www.isc.org/software/dhcp/
2.解压
tar-zxvf dhcp-3.1.3.tar.gz
3.配置
cddhcp-3.1.3
./configure
成功之后生成work.linux-2.2文件夹.
4.编译
make "CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin/arm-hismall-linux-gcc-static"
可以在work.linux-2.2/client目录,也可以在dhcp-3.1.3目录下make,
5.拷贝
在work.linux-2.2\client编译生成dhclient。
拷贝配置文件dhcp-3.1.3/client/dhclient.conf和/dhcp-3.1.3/client/scripts/linux 到开发板的/sbin/目录下,并linux文件重命名为dhclient-script,并修改该文件的第一行#! /bin/bash 为#! /bin/sh,保存后,修改权限 chmod +x /sbin/dhclient-script
6.创建目录
mkdir-p /var/state/dhcp
在/var目录下创建state目录,再在state目录下创建dhcp目录。
7.运行
dhclient ra0
结果:
InternetSystems Consortium DHCP Client V3.1.3
Copyright2004-2009 Internet Systems Consortium.
Allrights reserved.
Forinfo, please visit https://www.isc.org/software/dhcp/
Listeningon LPF/ra0/7c:dd:90:25:9f:a9
Sendingon LPF/ra0/7c:dd:90:25:9f:a9
Sendingon Socket/fallback
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 14
DHCPOFFERfrom 192.168.1.1
DHCPREQUESTon ra0 to 255.255.255.255 port 67
DHCPACKfrom 192.168.1.1
bound to 192.168.1.31 -- renewal in 282261 seconds.
方法二、udhcpc
udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微- DHCP -客户端(μDHCPc)。
1.udhcpc -i eth0
udhcpc只是获取一个IP,我们需要把\busybox-1.1.2\examples\udhcp下的脚本simple.script改名为default.script,放在开发板上的/usr/share/dhcpc/目录下,才能将获取的IP写到指定的网卡中。
2.ifconfig
如果你准备在2013奋斗,请好好研究这些铁律
如果你准备在2013奋斗,请好好研究这些铁律
在网上看到一个很有意思的帖子,特意转载过来与我们的嵌入式工程师一起分享,如果你准备在2013奋斗,那就请好好研究这些铁律吧,呵呵~
【奋斗篇】
1、每天11:00点前睡觉,每天6:30点前起床
2、每天提醒自己,不要忘记梦想
3、多锻炼身体,身体垮了什么都没有了,男人女人要对自己好一点;
4、努力学习赚钱的本领,钱是一个人活着的根本,是做人的尊严;
5、常回家看看老妈老爸,常给姐姐哥哥电话,亲情是最珍贵的感情;
6、要学会做个倾听者,要多听听别人的感受,从中获得教训;
7、要学会玩,学会有品位的玩;
8、工作上的烦恼,不要带回家,解决不了任何问题,带回来会平添更多烦恼;
9、做工作的有心人;
10、学会奉承领导,多摆笑脸,不做恶人,三缄其口,三思而后行;
11、学会推拖事情,人善被人欺,马善被人骑;
12、不和没素养的人交往,免得受其影响;
13、不与小气的人交往,吃亏的总是自己;
14、对装B的人要一棒子打死,让他(她)下次再也牛不起来!
15、不与已婚人或者已经同居的人谈感情,多半是浪费口舌,最后没什么收获,反而打击自己的生活激情;
16、要寻找与自己有共同价值观的人,爱自己的人,好好珍惜,好好保护,终了一生;
17、不要把感情浪费在没有希望的人身上,看重外在的人永远都是弱智,只有在伤痕累累时才明白,真正爱她(他)的人原来一直在她(他)身边关注她(他),而她(他)却一直以为幸福很遥远;
18、不要过分将就一个人,过分将就不是爱情,是犯贱;
29、现实一点,爱情在现实面前总是那么苍白,浪漫的爱情只适合用于梦想;
20、做婚姻的有心人,好好准备步入婚姻,好好准备做一个好丈夫好妻子;{尽力}
21、做生活的有心人,用心准备营造一个美好的家庭,一个安全温馨的家庭;{尽力}
22、不要老是想做救世主,就算是救世主,也没必要去拯救世人。可怜之人,必有可恨之处,而且都是犹大;
23、不要轻易借钱给别人,借钱的人,许多都不想还钱;
24、要明白读过很多书的人不一定有很多知识,没上过学的人却不一定是文盲;
25、不要以貌取人,特别是女人,漂亮的也许是个魔鬼,丑陋的却可能是天使,上天总是公平的;
26、要做回自己,为自己活着;
27、要会装扮自己,邋遢不是一个酷的表现,是没教养的结果;
28、走自己的路,让NB说破嘴皮吧;
29、赚别人的钱,让贫穷见鬼去吧 。
【现实篇】
一、一大早被闹钟吵醒,说明还活着;
二、不得不从被窝里爬起来上班,说明没有失业;
三、收到一些短信,或吃饭聚聚,说明还有朋友想咱;
四、听别人的话有时刺耳,说明还有人注意你;
五、衣服越来越紧,说明吃得还算营养;
六、总想出国去看看,说明生活还有追求;
七、很想休息但没批准,说明还有一定位置离不开你;
八、看了这个文字还能发出会心的微笑,说明你是快乐幸福的。
随着嵌入式产品市场的火爆,嵌入式人才一直处于供不应求的状态,薪资待遇也比一般的IT从业人员高很多,拥有梦想的你,想成为嵌入式工程师的你,还有想拥有高薪的你,时间不等人,犹豫解决不了目前面临的窘境,快快付出行动吧!有梦想就去实现它!