布局属性编辑——让每个 View 大小和位置正确
核心布局属性
每个 Android View 都有两个最基本的布局属性:layout_width 和 layout_height。
| 属性值 | 含义 |
|---|---|
match_parent | 填满父容器的可用空间 |
wrap_content | 尺寸刚好容纳内容 |
| 具体数值 | 如 100dp、24sp、5px |
密度无关像素(dp)
推荐用 dp(density-independent pixel)作为尺寸单位:
1dp在 160dpi 屏幕上 = 1px- 在 240dpi 屏幕上自动放大为 1.5px
- 保证 UI 在不同屏幕密度下视觉尺寸一致
文字大小(sp)
文字大小推荐用 sp(scale-independent pixel):
- sp 和 dp 密度自适应相同
- 额外跟随系统字体大小设置变化(用户在系统设置里调了大字体,你的 App 自动跟着变大)
边距与内边距
┌─── padding (内部填充) ───┐
│ content │
└─── padding (内部填充) ───┘
←─ margin (外部间距) →
layout_margin— View 与外部容器/兄弟 View 的间距(外边距)padding— View 内部内容与边缘的间距(内边距)
两个属性都支持分别设置四个方向:
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
Gravity 与 Layout Gravity
容易混淆的两个属性:
| 属性 | 作用对象 | 效果 |
|---|---|---|
gravity | View 自己 | View 内部内容的对齐方式 |
layout_gravity | 父容器 | View 在父容器中的对齐方式 |
例如:
android:gravity="center"— Button 里的文字居中android:layout_gravity="center_horizontal"— Button 在父容器中水平居中
常用属性速查表
| 属性 | 作用 | 示例 |
|---|---|---|
android:id | 给 View 一个唯一标识 | @+id/myButton |
android:text | TextView/Button 显示的文字 | "点击我" |
android:textSize | 文字大小 | 18sp |
android:textColor | 文字颜色 | #FF0000 或 @color/red |
android:background | 背景 | @drawable/shape 或 #FFFFFF |
android:visibility | 可见性 | visible / invisible / gone |
android:src | ImageView 的图片 | @drawable/icon |
AIDE 中设置属性的最快方式
- 输入
<Button后按空格 - AIDE 自动弹出属性补全列表
- 选
android:layout_width→ 弹出match_parent/wrap_content - 选
android:text→ 输入文字值 - 自动补完引号和闭合,效率很高
如果有 UI Designer,以上所有属性都可以在右侧属性面板里修改,改完自动同步回 XML。