【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 小时前
绘制K线第二章:背景网格绘制
android·前端·架构
my_power5209 小时前
车载安卓面试题汇总
android
csj509 小时前
安卓基础之《(15)—内容提供者(1)在应用之间共享数据》
android
yeziyfx10 小时前
kotlin中 ?:的用法
android·开发语言·kotlin
2501_9159184111 小时前
只有 Flutter IPA 文件,通过多工具组合完成有效混淆与保护
android·flutter·ios·小程序·uni-app·iphone·webview
robotx11 小时前
AOSP 设置-提示音和振动 添加一个带有开关(Switch)的设置项
android
青莲84311 小时前
RecyclerView 完全指南
android·前端·面试
青莲84311 小时前
Android WebView 混合开发完整指南
android·前端·面试
龙之叶12 小时前
【Android Monkey源码解析三】- 运行解析
android
KevinWang_13 小时前
Android 的 assets 资源和 raw 资源有什么区别?
android