LinearLayout:
项目 |
参数 |
orientation |
vertical(纵向布局),horizontal(横向布局) |
gravity |
父容器中的布局元素位置 |
layout_gravity |
子控件在父容器中的位置 |
divider |
分隔线(图片)也可以直接用View 空间直接实现分隔线 |
showDividers |
设置分割线所在的位置,none(无),beginning(开始),end(结束),middle(每两个组件间) |
layout_weight |
权重,控件占页面布局比例(分配剩余空间) |
RelativeLayout:相对位置布局
根据父容器定位 |
参数 |
layout_alignParentLeft |
左对齐 |
layout_alignParentRight |
右对齐 |
layout_alignParentTop |
顶部对齐 |
layout_alignParentBottom |
底部对齐 |
layout_centerHorizontal |
水平居中 |
layout_centerVertical |
垂直居中 |
layout_centerlnParent |
中间位置 |
根据兄弟容器定位 |
参数 |
layout_toLeftOf |
放置于参考组件的左边 |
layout_toRightof |
放置于参考组件的右边 |
layout_above |
放置于参考组件的上方 |
layout_below |
放置于参考组件的下方 |
layout_align |
Top对齐参考组件的上边界 |
layout_alignBottom |
对齐参考组件的下边界 |
layout_alignLeft |
对齐参考组件的左边界 |
layout_alignRight |
对齐参考组件的右边界 |
原因分析:
提示:这里填写问题的分析:
例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。
解决方案:
提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。