微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Android 应用程序中设置多个字体大小默认值?

如何解决如何在 Android 应用程序中设置多个字体大小默认值?

我很好奇是否可以制作专门的认字体大小,您可以在布局 xml 文件中引用这些字体大小。我正在寻找类似于如何制作颜色资源文件的东西。我想做一些事情,以便我可以在我的 xml 布局中说“@fonts/title”、“@fonts/subtitle”或“@fonts/content-small”。

解决方法

你可以像这样定义一个样式资源:

<style name="title" parent="TextAppearance.AppCompat">
  <item name="android:textSize">20sp</item>
</style>

在布局文件中,您可以向 TextView 添加 android:textAppearancestyle 属性:

 <TextView
   ...
   android:textAppearance="@style/title">

 <TextView
   ...
   style="@style/title">
,

根据 Material Design 指南定义文本大小。

<dimen name="text_header_regular">24sp</dimen>
<dimen name="text_header_medium">20sp</dimen>
<dimen name="text_body">16sp</dimen>
<dimen name="text_body2">14sp</dimen>
<dimen name="text_caption">12sp</dimen>
<dimen name="text_overline">10sp</dimen>
<dimen name="text_overline_2">8sp</dimen>

创建自定义样式。

<style name="tvStyleBold">
    <item name="android:fontFamily">@font/montserrat</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">@color/colorTextPrimary</item>
    <item name="android:textSize">@dimen/text_body</item>
</style>

<style name="tvStyleRegular">
    <item name="android:fontFamily">@font/montserrat</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">@color/colorTextPrimary</item>
    <item name="android:textSize">@dimen/text_body2</item>
</style>

然后你的文本视图看起来像这样。

<androidx.appcompat.widget.AppCompatTextView
     style="@style/tvStyleBold"
     android:text="@string/change_password_com"/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。