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

相关推荐
_阿南_8 小时前
Android文件读写和分享总结
android
通玄16 小时前
Jetpack Compose 入门系列(六):Navigation 3 页面导航
android
rocpp19 小时前
Android 多语言切换实战:从 Context 到 Android 13 应用语言适配
android·kotlin
释然小师弟20 小时前
Android开发十年:反思与回顾
android·后端·嵌入式
黄林晴1 天前
用了这么久 Koin Scope,原来一直都用错了?
android·kotlin
爱勇宝1 天前
我做了一个只用来搜歌词的小 App
android·前端·后端
众少成多积小致巨2 天前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
Coffeeee2 天前
如何使用Glide和Coil加载WebP动图
android·kotlin·glide
Kapaseker2 天前
5 分钟搞懂 Kotlin DSL
android·kotlin
恋猫de小郭2 天前
AI Agent 开发究竟是啥?如何用 AI 开发 Agent ?深入浅出给你一套概念
android·前端·ai编程