布局管理器

大小用dp; 字体用sp

线性布局 与 相对布局是可以嵌套使用的,根据实际需求,灵活使用。

1、通用属性

# 大小相关
layout_width="100dp":宽度
layout_height="200dp":高度

background="#FFFFFF":背景颜色

layout_margin:距外部元素的距离;
layout_padding:距内部元素的距离

# 内边距相关
padding="20dp":内边距20dp,上下左右都是这么多
paddingLeft="20dp":左边内边距20dp
paddingRight="20dp":右边内边距20dp
paddingTop="20dp":顶部内边距20dp
paddingBottom="20dp":底部内边距20dp

# 外边距相关
layout_marginLeft="15dp":距左边的距离
layout_marginRight="15dp":距右边的距离
layout_marginBottom="20dp":距底部的距离
layout_marginTop="20dp":距顶部的距离

2、线性布局 LinearLayout

通过orientation属性确定布局方向;

# 方向相关
orientation="horizontal":水平,竖直是vertical

# 设置子元素的权重
layout_width="0dp":将宽设为0
layout_weight="1":此子元素的多少。 

# 设置子元素在父类中的位置
gravity="center":居中。内部元素的排列方式

3、相对布局 RelativeLayout

# 相对位置
layout_below = "":在谁的下面
layout_toLeftOf="":在谁的左边
layout_toRightOf = "" :在谁的右边
# 对齐方式
layout_alignBottom="":跟谁的底部对齐
layout_alignParentBottom="true":跟父控件的底部对齐

Activity Fragment

一个界面需要有一个Activity
Fragment必须依赖于Activity,它不能独立存在

基于回调的事件处理机制

先回调控制自身的,后执行activity的;
return false:事件可以继续传播;
监听优先于回调;
dispatchTouchEvent()->setOnTouchListener->onTouchEvent; 只有return为false才会向下级传播;
OntouchListener(在EventActivity中)在onTouchEvent(在MyButton中)之前执行的;