You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中textStyle:bold不生效,无法设置TextView文本加粗与字号

问题描述

我曾查阅过类似问题并尝试相关解决方案,但均无效。当前问题是无法将ID为contactName的TextView设置为加粗样式,也无法修改其字号,文本始终保持非加粗状态且字号无变化。

我需要将contactName的文本显示为加粗,相关布局代码如下:

<TextView
    android:id="@+id/contactName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:ellipsize="end"
    android:maxLines="1"
    android:overScrollMode="never"
    android:paddingEnd="4dp"
    android:textAppearance="@style/contactListTextPrimary"
    tools:ignore="RtlSymmetry"
    tools:text="Contact title" />

<style name="contactListTextPrimary" parent="@android:style/TextAppearance.Medium">
    <item name="android:textColor">?android:attr/textColorPrimary</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">16sp</item>
</style>

上述代码并未使文本变为加粗,样式无任何变化。以下是完整的styles.xml文件内容:

<resources>
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
        <item name="android:listDivider">@drawable/list_divider</item>
        <item name="colorPrimaryDark">@color/color_status_bar</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.ActionBar">
        <item name="android:textColorHint">@color/grey</item>
        <item name="android:tint">#FFFFFF</item>
    </style>

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

    <style name="PreferenceThemeOverlay">
        <item name="preferenceScreenStyle">@style/Preference.PreferenceScreen</item>
        <item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
        <item name="preferenceCategoryStyle">@style/Preference.Category</item>
        <item name="preferenceStyle">@style/Preference</item>
        <item name="preferenceInformationStyle">@style/Preference.Information</item>
        <item name="checkBoxPreferenceStyle">@style/Preference.CheckBoxPreference</item>
        <item name="switchPreferenceCompatStyle">@style/Preference.SwitchPreferenceCompat</item>
        <item name="dialogPreferenceStyle">@style/Preference.DialogPreference</item>
        <item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference
        </item>
        <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList</item>
    </style>

    <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/splash_screen</item>
    </style>

    <style name="LicensesTheme" parent="Theme.AppCompat.Light"></style>

    <style name="searchTextHighlight">
        <item name="android:textColor">@color/colorAccent</item>
        <item name="android:textStyle">bold</item>
    </style>

    <style name="contactListTextPrimary" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">?android:attr/textColorPrimary</item>
    </style>

    <style name="textPrimarySmall" parent="@android:style/TextAppearance.Small">
        <item name="android:textColor">?android:textColorPrimary</item>
    </style>

    <style name="textPrimary" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">?android:textColorPrimary</item>
    </style>

    <style name="textPrimaryLarge" parent="@android:style/TextAppearance.Large">
        <item name="android:textColor">?android:textColorPrimary</item>
    </style>

    <style name="textSecondary" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">?android:textColorSecondary</item>
    </style>

    <style name="textSecondarySmall" parent="@android:style/TextAppearance.Small">
        <item name="android:textColor">?android:textColorSecondary</item>
    </style>

    <style name="sectionTitleStyle" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">@color/colorAccent</item>
        <item name="android:textAllCaps">true</item>
        <item name="android:fontFeatureSettings">smcp</item>
        <item name="android:layout_marginBottom">@dimen/activity_padding</item>
        <item name="android:layout_marginTop">@dimen/activity_padding</item>
    </style>

    <style name="textMetaBubble">
        <item name="android:textColor">?android:textColorSecondary</item>
        <item name="android:textSize">14sp</item>
    </style>

    <style name="ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
        <item name="android:minHeight">12dip</item>
        <item name="background">@color/colorChipBackground</item>
    </style>

    <style name="ToolbarSubtitleAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
        <item name="android:textColor">?android:textColorSecondary</item>
        <item name="android:textSize">12sp</item>
    </style>
    <style name="ToolbarTitleAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
        <item name="android:textColor">?android:textColorSecondary</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">15sp</item>

    </style>

    <style name="roundImageView" parent="">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">50%</item>
    </style>

    <style name="forwardToSheetDialog" parent="ThemeOverlay.MaterialComponents.BottomSheetDialog">
        <item name="bottomSheetStyle">@style/forwardToBottomSheet</item>
    </style>

    <style name="forwardToBottomSheet" parent="Widget.MaterialComponents.BottomSheet.Modal">
        <item name="backgroundTint">@null</item>
        <item name="shapeAppearanceOverlay">@style/forwardToAppearanceBottomSheetDialog</item>
    </style>

    <style name="forwardToAppearanceBottomSheetDialog" parent="">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSizeTopRight">16dp</item>
        <item name="cornerSizeTopLeft">16dp</item>
        <item name="cornerSizeBottomRight">0dp</item>
        <item name="cornerSizeBottomLeft">0dp</item>
    </style>
</resources>
问题原因

从完整的styles.xml文件可以看到,你在布局代码中定义的contactListTextPrimary样式包含android:textStyle="bold"和android:textSize="16sp",但实际项目中的styles.xml里,该样式只定义了文本颜色属性,缺失了加粗和字号的配置,这直接导致样式不生效。

解决方案

方案一:修正styles.xml中的样式定义

直接修改styles.xml里的contactListTextPrimary样式,添加缺失的加粗和字号属性:

<style name="contactListTextPrimary" parent="@android:style/TextAppearance.Medium">
    <item name="android:textColor">?android:attr/textColorPrimary</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">16sp</item>
</style>

方案二:直接在TextView标签内添加属性(临时测试用)

如果需要快速验证效果,可以绕过样式,直接在TextView标签中添加加粗和字号属性:

<TextView
    android:id="@+id/contactName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:ellipsize="end"
    android:maxLines="1"
    android:overScrollMode="never"
    android:paddingEnd="4dp"
    android:textAppearance="@style/contactListTextPrimary"
    android:textStyle="bold"
    android:textSize="16sp"
    tools:ignore="RtlSymmetry"
    tools:text="Contact title" />

额外提示

如果修改样式后仍不生效,执行Clean Project后再Rebuild Project,避免缓存导致的样式未更新。

内容的提问来源于stack exchange,提问作者SanMiguel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:35:18