【Android之路】.sp和界面层次结构

.sp

在 Android / Android Studio 环境下:

  • sp 是一种字体尺寸单位(scale-independent pixels)

    • 全称:Scale-independent Pixels
    • 用来指定文字大小,和 dp 类似,但会随用户的系统字体缩放设置变化。
    • 常用在 TextView、Compose 的 fontSize = 16.sp 等。

为什么用 sp 而不是 dp:

  • Android 用户可以在系统里调整"字体大小";
  • 用 sp 时,用户调大字体,文字会随之放大;而 dp 不会。

例子(XML):

xml 复制代码
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello"
    android:textSize="16sp" />

例子(Jetpack Compose):

kotlin 复制代码
Text(
    text = "Hello",
    fontSize = 18.sp  // 注意 Compose 里也用 sp
)

总结 :sp 是 文字推荐单位 ;dp 用于布局尺寸。


看到的 sp 多半指 字体尺寸单位,比如:

kotlin 复制代码
Text(
    text = "Hello Android",
    fontSize = 20.sp
)

如果你是在手机文件系统里看到 .sp 文件,那就是 SharedPreferences 保存的文件,一般开发者不用手动修改。

界面层次结构

界面层次结构基于包含机制,意即一个组件可以包含一个或多个组件,有时会用"父级"和"子级"这两个词来表述。这种说法是指,父界面元素包含子界面元素,而子界面元素还可以继续包含子界面元素。在此部分中,您将了解可用作父界面元素的 Column、Row 和 Box 可组合项。

相关推荐
三少爷的鞋6 小时前
AI 时代,我们都将成为通才型开发者:只懂 Android,已经不够了
android
Dovis(誓平步青云)10 小时前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
晚风叙码12 小时前
MySQL 数据类型详解:从数值到字符串,一篇讲透
android·mysql·adb
传奇开心果编程12 小时前
【Compose Multiplatform 跨端开发学与练】第3课 布局与组件
android·windows·学习·ui·ios·kotlin·composer
传奇开心果编程15 小时前
【Compose Multiplatform 跨端开发学与练】第8课 资源管理与主题
android·windows·学习·ios·kotlin·web·composer
传奇开心果编程16 小时前
【Compose Multiplatform 跨端开发学与练】第9课 测试与调试
android·学习·macos·ios·kotlin·web·composer
传奇开心果编程16 小时前
【Compose Multiplatform 跨端开发学与练】第4课 导航与路由
android·windows·学习·ui·ios·kotlin·composer
传奇开心果编程17 小时前
【Compose Multiplatform 跨端开发学与练】第6课 状态管理与架构
android·学习·ui·ios·架构·kotlin·composer
事圆则缓17 小时前
Android AOSP 定制常见概念:源码目录、系统镜像与刷机流程
android
传奇开心果编程17 小时前
【Compose Multiplatform 跨端开发学与练】第2课 Compose 基础语法
android·windows·学习·ui·ios·kotlin·composer