Android页面四大布局运行结果

LinearLayout

LinearLayout是一种线性布局,按照水平或垂直方向排列子视图。默认方向为水平(horizontal),可通过android:orientation属性修改为垂直(vertical)。子视图按照添加顺序依次排列,支持权重(android:layout_weight)分配剩余空间。

特性:

  • 简单高效,适合单一方向的布局需求
  • 权重属性可实现动态比例分配
  • 嵌套过多会导致性能下降

MainActivity.java文件

​编辑

代码运行结果:

​编辑

NeonLamp

NeonLamp并非Android官方布局,而是自定义实现的霓虹灯效果视图。通常继承自View或ViewGroup,通过自定义绘制实现发光、闪烁等视觉效果。需在代码中处理动画和着色器效果。

实现要点:

  • 使用Shader实现渐变发光效果
  • 通过ValueAnimator控制动画周期
  • 自定义属性支持XML配置

代码运行结果:

​编辑

RelativeLayout

RelativeLayout通过相对定位排列子视图,每个视图可以相对于父容器或其他视图定位。常用属性包括android:layout_alignParentTopandroid:layout_toRightOf等。

优势:

  • 减少布局嵌套层次
  • 灵活处理复杂布局关系
  • 性能优于多层嵌套的LinearLayout

注意事项:

  • 过度使用会导致布局逻辑复杂化
  • 需要谨慎处理视图间的依赖关系

MainActivity.java文件​编辑

​编辑

TableLayout

TableLayout以表格形式组织子视图,继承自LinearLayout。每行由TableRow定义,列宽由最宽单元格决定。支持android:layout_span实现单元格合并。

适用场景:

  • 需要严格对齐的表格式数据展示
  • 表单类界面布局
  • 网格状UI元素排列

局限性:

  • 布局灵活性较低
  • 动态调整困难

代码运行结果:

​编辑

相关推荐
leory11 小时前
请详细描述Handler消息机制的工作原理
android·面试
leory11 小时前
请描述Binder IPC的基本原理和工作流程
android·面试
leory11 小时前
View的事件分发机制是怎样的?dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的关系?
android·面试
zander25811 小时前
Canal本地部署保姆级教程
android
小仙女喂得猪12 小时前
2026 Android 组件化项目的AICoding落地实践
android·kotlin·ai编程
leory12 小时前
请详细描述JVM的垃圾回收机制?
android·面试
leory12 小时前
volatile关键字的作用是什么?它能保证原子性吗?
android·面试
消失的旧时光-194312 小时前
为什么 Linux / Android 系统里全是 struct + 函数指针?—— 一篇讲透 C 语言如何实现面向对象(OOP)
android·linux·c语言
沐言人生12 小时前
ReactNative 源码分析5——ReactActivity之启动RN应用
android·react native
leory12 小时前
synchronized和ReentrantLock的区别是什么?各自的使用场景?
android·面试