Android 视图系统入门指南

1. View:界面的最小单位

  • 本质:屏幕上的一个矩形区域,能显示内容或接收触摸。
  • 比喻:就像乐高积木,是组成界面的最小单位。
  • 常见子类 :
    • TextView(文字积木)、Button(按钮积木)、ImageView(图片积木)。
  • 关键方法 :
    • setText()、setBackgroundColor()、setOnClickListener()。
    • ******************************************************************************************
  1. ViewGroup:收纳盒和组织者
  • 本质:特殊的 View,能装下其他 View 和 ViewGroup,形成层级结构。
  • 比喻:就像乐高收纳盒,可以把积木按规则排列。
  • 常见子类 :
    • LinearLayout(排队收纳盒)、RelativeLayout(相对位置收纳盒)、ConstraintLayout(现代灵活收纳盒)。
  • 关键方法 :
    • addView()、removeView()、getChildAt()。
    • *************************************************************************************

3. LayoutParams:摆放说明书

  • 本质:告诉 ViewGroup 如何摆放子 View 的 "规则"。
  • 比喻:就像乐高积木的拼搭说明书,指定积木的大小和位置。
  • 常见属性 :
    • width/height(大小)、gravity(对齐方式)、margin(边距)。
  • 注意 :
    • 不同 ViewGroup 有自己的 LayoutParams(如LinearLayout.LayoutParams)
    • 。
    • **************************************************************************************

4. MarginLayoutParams:带边距的豪华说明书

  • 本质 :LayoutParams的子类,增加了边距(margin)功能。
  • 比喻:普通说明书只能拼积木,豪华版还能指定积木之间的距离。
  • 关键属性 :
    • marginLeft/Top/Right/Bottom(四边边距)。
java 复制代码
// 1. 创建一个TextView(乐高积木)
TextView textView = new TextView(this);
textView.setText("Hello");

// 2. 创建一个LinearLayout(收纳盒)
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);

// 3. 给TextView设置摆放规则(说明书)
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WRAP_CONTENT, // 宽度:包裹内容
    LinearLayout.LayoutParams.WRAP_CONTENT  // 高度:包裹内容
);
params.topMargin = 20; // 上边距20像素
textView.setLayoutParams(params);

// 4. 将TextView放入LinearLayout(把积木放进收纳盒)
layout.addView(textView);

// 5. 将LinearLayout添加到Activity(把收纳盒放到房间里)
setContentView(layout);
相关推荐
geovindu9 小时前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
知之则吱吱11 小时前
Android 开发者验证机制迎来新变化:核心要求、实施时间与开发者应对指南
android·google
墨天梦12 小时前
D09_Retrofit接口与数据转换
android·kotlin·retrofit
电商API_1800790524713 小时前
闲鱼商品列表API接口商品详情API接口请求示例(含一份真实响应数据示例)
android·数据挖掘·网络爬虫·跨境电商·反向海淘
我命由我1234513 小时前
Android 广播 - 组件通信
android·java·开发语言·android studio·android jetpack·android-studio·android runtime
阿俊-全栈开发14 小时前
LikeShop 单商户标准版商品管理二开:分类、SKU 规格与库存联动实现
android·likeshop·likeshop开源商城
用户21816970493016 小时前
Kotlin 语法二
android
妖星17 小时前
android 源码分析surfaceFinger是如何通过设置属性启动bootanim
android
JoyMonitor17 小时前
APK mmap 内存增长定位:pagemap 与 DEX 结构联合定位方法
android