v21\values.xml
<style name="TextAppearance.Material.Body1">
<item name="textSize">@dimen/text_size_body_1_material</item>
</style>
文字大小
<dimen name="text_size_body_1_material">14sp</dimen>
values\values.xml
<style name="Base.TextAppearance.AppCompat.Body1">
<item name="android:textSize">@dimen/abc_text_size_body_1_material</item>
</style>
文字大小
<dimen name="abc_text_size_body_1_material">16sp</dimen>
问题:Google 在 AppCompat 库和 Android Lollipop 中为 text_size_body
定义不同大小的原因是什么。
P.S.其他尺寸好像都一样。
最佳答案
通常,Android 首先会查看默认文件夹 values,以查找您通过 xml 资源定义的所有值(在您的示例中为 values/dimens.xml)。但在您的情况下,您已经定义了一个“重载”资源文件夹 v21,如果您的应用程序在 Android v21+ 的设备上运行,它会覆盖默认值。这就是文本在不同 Android 版本(v21+ 与 v20-)上看起来不同的原因。
关于android - 为什么 `text_size_body` 在 AppCompat 库和 Android Lollipop 中有不同的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27633984/