屏幕尺寸,屏幕分辨率和屏幕像素密度
屏幕尺寸:指屏幕的对角线长度。单位为英寸。1英寸=2.54厘米
屏幕分辨率:水平和垂直方向的像素点的个数。单位是px。1px=1像素点
一般以垂直像素*水平像素,如1280*720.
屏幕像素密度:指每英寸上的像素点数。单位是dpi。dpi :dot per inch
屏幕像素密度与屏幕尺寸和屏幕分辨率有关
px:像素点,构成图像的最小单位。
dip:device independent pixels (设备独立像素)。也是密度无关像素。以160dpi为基准,1dip=1px
dp:与dip相同
sp:专门用于字体的像素单位。设定字体时一般为偶数,如:12 14 16 18 不建议使用奇数,可看android官网说明
android 布局中最多不可超过10个嵌套,会影响打开速度
Android UI 开发分类大致可分为五类:
-
界面布局开发定义界面的布局
-
·控件开发———定义单个界面元素
-
AdapterView 与Adapter 开发列表显示
-
U组件开发对话框、通知、菜单等
-
自定义VieW、图形图像和动画通过代码,自行绘制界面
常用的布局有以下五种:
-
LinearLayout -线性布局
-
RelativeLayout —相对布局
-
FrameLayout -—帧布局
-
TableLayout ——表格布局
-
·AbsoluteLayout —绝对布局
-
GridLayout —网格布局
layout_width和layout_height在平面图型中是不可或缺的,TableLayout 布局中宽和高是有默认的设置
LinearLayout 线性布局
LinearLayout默认是水平布局,
android:layout_weight 权重,match_parent时权重越大时显示越小,而为wrap_content时权重越大时显示越大
有权重和无权限View同时出现时,系统优先分配无权重的,再根据剩余空间分配有权重的
RelativeLayout 相对布局
layout _centerVertical :垂直居中
layout _centerHorizontal :水平居中
android:layout_centerInParent :父类居中
layout _alignParentTop:对齐父容器顶部
layout _alignParentLeft :对齐父容器左部
layout _alignParentRight:对齐父容器右部
layout _alignParentBottom :对齐父容器底部
android:layout_alignBaseline 基准线对齐,中心点对齐
@id/和@+id使用: @+id会在R.java file里面添加一个新的对应id值,可以用findViewById(R.id.xxx)
找到对应的控件,而@id就直接在这个xml中查找对应id控件
相对布局尽量相互关联不要超过3个,防止耦合太高,其中一个被移除后,全部乱了
TableLayout 表格布局
TableLayout 是继承于LinearLayout 的,
android:shrinkColumns 设置可收缩的列,内容过多就收缩显示到第二行
android:stretchColumns 设置可伸展的列,将空白区域填充满整个列
android:collapseColumns 设置要隐藏的列
android:layout_column 第几列
android:layout_span 占据列数
GridLayout 网格布局
android :layout _columnSpan:扩展列的数目
android :layout _rowSpan :扩展行的数目
android :layout gravity 填充方式
AbsoluteLayout 绝对布局
在终端屏目大小确定,而且很少改变的情况下使用,因为写固定值很难做适配
来源:oschina
链接:https://my.oschina.net/u/4347428/blog/4463611