android UI布局基础

屏幕尺寸,屏幕分辨率和屏幕像素密度

屏幕尺寸:指屏幕的对角线长度。单位为英寸。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 绝对布局

在终端屏目大小确定,而且很少改变的情况下使用,因为写固定值很难做适配

猜你喜欢

转载自blog.csdn.net/m0_37622302/article/details/107712232