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

RecyclerView内TextView文本后出现短暂消失线条的解决求助

解决RecyclerView中自定义字体TextView显示时的闪烁线条问题

在使用RecyclerView展示带有自定义字体的TextView卡片时,遇到了新卡片加载时文本后方出现快速消失线条的问题,且确认仅在设置android:fontFamily="@font/notosansjpregular"时触发,移除字体设置后问题消失。

可能原因

这类问题大多源于自定义字体与Android渲染逻辑的兼容性问题:

  • 字体文件本身的元数据(如字宽、基线)存在异常,导致布局计算瞬间出错
  • 硬件加速渲染与自定义字体的渲染逻辑冲突,产生短暂的渲染异常

可行解决方案

  • 禁用TextView硬件加速
    给目标TextView添加软件渲染配置,避免硬件加速的兼容性问题:

    android:hardwareAccelerated="false"
    

    或在代码中设置:

    wordTextView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    
  • 修复或替换字体文件
    尝试从官方渠道重新下载Noto Sans JP Regular字体,或用FontForge等工具检查字体是否包含无效字形、错误元数据,清理后重新导入项目。

  • 关闭字体内边距
    字体默认的内边距可能导致渲染空间计算异常,添加以下配置:

    android:includeFontPadding="false"
    
  • 添加固定右侧padding
    给TextView添加少量右侧padding,让可能出现的线条移出可视区域:

    android:paddingRight="2dp"
    

修改后的示例代码

<TextView
    android:id="@+id/wordTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="16dp"
    android:fontFamily="@font/notosansjpregular"
    android:textSize="24sp"
    android:hardwareAccelerated="false"
    android:includeFontPadding="false"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toEndOf="@+id/levelTextView"
    app:layout_constraintTop_toTopOf="parent" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:57:38