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

如何从XML获取TextView的textSize值并在代码中设置给目标控件?

实现方法

方法1:直接复用固定的32sp值

既然XML里明确指定了32sp,可以直接通过setTextSize方法指定单位和数值:

holder.tvValue.setTextSize(TypedValue.COMPLEX_UNIT_SP, 32);

方法2:动态获取XML中tv_title的textSize值

如果需要动态读取tv_title的文本大小(比如该控件的textSize可能被主题、其他代码修改过),可以先获取tv_title实例,再传递它的文本大小:

// 获取布局中的tv_title实例
TextView tvTitle = itemView.findViewById(R.id.tv_title);
// 获取tv_title的文本大小(返回值为像素值)
float titleTextSize = tvTitle.getTextSize();
// 将像素值设置给tvValue
holder.tvValue.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleTextSize);

注意事项

  • getTextSize()返回的是像素值,设置时必须指定单位为TypedValue.COMPLEX_UNIT_PX,否则会导致文字大小异常。
  • 如果tv_title不在当前ViewHolder的布局范围内,需要确保能正确获取到该控件的实例(比如从Activity/Fragment中传递)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:20:57