【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 可组合项。

相关推荐
砖厂小工4 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
张拭心5 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
张拭心5 小时前
Android 17 来了!新特性介绍与适配建议
android·前端
Kapaseker7 小时前
Compose 进阶—巧用 GraphicsLayer
android·kotlin
黄林晴8 小时前
Android17 为什么重写 MessageQueue
android
阿巴斯甜1 天前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker1 天前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95271 天前
Andorid Google 登录接入文档
android
黄林晴1 天前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab2 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读