android界面相关

 

from https://www.cnblogs.com/Permanents/articles/7919565.html

屏幕度量相关

一、px

像素,我们经常说的400*800这种的就是像素,这个比较好理解。

二、dp

要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以,它的计算公式如下:

比如height和width即为长宽的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机、4寸手机中的5和4,即对角线的长度。

显然,一样是5寸的手机,分辨率越高,dpi越高。

dp也叫dip,是device independent pixels。设备不依赖像素的一个单位。

定义在dpi=160的设备上的1px=1dp,所以px和dp的转换公式为:px = dp * (dpi/160)

这样一来,如图2-1,用了像素的单位之后,在不同的设备显示出了不同的效果;在图2-2中,用了dp作为单位之后,dp相同之后,在不同的设备里面,转成px之后是相等的,所以就不会出现图2-1的情况。(图片来源:http://study.163.com/course/courseLearn.htm?courseId=207001#/learn/video?lessonId=368070&courseId=207001)

图2-1:

 

图2-2:

 

 三、sp

全称是scaled pixels。这个主要是用于项目中的字体大小。使用sp作为单位,当用户通过手机设置修改手机字体的时候,sp为单位的字体也会跟着改变。

总结:Android项目中的控件大小主要是使用dp作为单位,字体大小主要是用sp作为单位。

 

gravity相关

gravity设置的是控件内的内容,但是在FrameLayout中该属性是没有作用;
layout_gravity设置的是子控件在父控件中的位置,但是相对布局的子控件没有该属性;
layout_gravity设置的是子控件在父控件中的位置,如果线性布局是水平布局,则该属性只有竖直方向(center_vertical、top、bottom)上起作用,如果线性布局是竖直布局,则该属性只有在水平方向(center_horizontal、left、right)上起作用。
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值