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元素排列

局限性:

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

代码运行结果:

​编辑

相关推荐
曲幽9 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev10 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪10 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪11 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee11 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭12 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴12 小时前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈13 小时前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
_阿南_1 天前
Android文件读写和分享总结
android
通玄1 天前
Jetpack Compose 入门系列(六):Navigation 3 页面导航
android