LinearLayout
LinearLayout是一种线性布局,按照水平或垂直方向排列子视图。默认方向为水平(horizontal),可通过android:orientation属性修改为垂直(vertical)。子视图按照添加顺序依次排列,支持权重(android:layout_weight)分配剩余空间。
特性:
- 简单高效,适合单一方向的布局需求
- 权重属性可实现动态比例分配
- 嵌套过多会导致性能下降
MainActivity.java文件
编辑
代码运行结果:
编辑
NeonLamp
NeonLamp并非Android官方布局,而是自定义实现的霓虹灯效果视图。通常继承自View或ViewGroup,通过自定义绘制实现发光、闪烁等视觉效果。需在代码中处理动画和着色器效果。
实现要点:
- 使用Shader实现渐变发光效果
- 通过ValueAnimator控制动画周期
- 自定义属性支持XML配置
代码运行结果:
编辑
RelativeLayout
RelativeLayout通过相对定位排列子视图,每个视图可以相对于父容器或其他视图定位。常用属性包括android:layout_alignParentTop、android:layout_toRightOf等。
优势:
- 减少布局嵌套层次
- 灵活处理复杂布局关系
- 性能优于多层嵌套的LinearLayout
注意事项:
- 过度使用会导致布局逻辑复杂化
- 需要谨慎处理视图间的依赖关系
MainActivity.java文件编辑
编辑
TableLayout
TableLayout以表格形式组织子视图,继承自LinearLayout。每行由TableRow定义,列宽由最宽单元格决定。支持android:layout_span实现单元格合并。
适用场景:
- 需要严格对齐的表格式数据展示
- 表单类界面布局
- 网格状UI元素排列
局限性:
- 布局灵活性较低
- 动态调整困难
代码运行结果:
编辑