wrap_content:包裹内容,根据内容大小拉伸。
match_parent:填充父布局。
weight:权重,权重大的优先拉伸。
也可用dp直接指定内容大小。
difference of various screen size
屏幕尺寸:指平米的对角线的长度,单位是英寸,1英寸=2.54厘米,它对我们屏幕适配不是很重要。
屏幕分辨率:指在横纵向上的像素点数,单位是px,1px = 1个像素点,一般以纵向像素*横向像素,如1920*1080.
屏幕像素密度:指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写,像素密度与屏幕尺寸和分辨率有关
像素密度计算:对角线分辨率–>对角线分辨率除以屏幕尺寸–>像素密度
1:weight计算方法:
size = 布局设置的大小 - (布局设置大小 - 父布局大小和)*比重比例
eg:两个button横屏显示 父布局为全横屏(L大小)
button1 比重1 button2比重2
1.都设置宽度为0dp时计算方式=0 - (0 -L)*1/3 = 1/3L
2.当都设置为math_parent时计算方式 = L - (L - 2L)*1/3=2/3L
12sp以上大小, 14sp 18sp 22sp 字体首选大小, 不要使用奇数、小数,否则会造成精度丢失
px:构成图像的最小单位 使用android原生api返回的都是这个单位,如获取安卓屏幕的宽和高
dp、dip:Density Independent Pixels的缩写,即密度无关像素,以160dpi(像素密度)为基准,1dip = 1px
dpi = (√height^2 + width^2 )/size(inch)