android项目从零开始 将TextView设置根据dimens.xml中值设置字体大小

Android TextView深度解析:从基础设置到高级适配与性能优化 在Android应用开发中,UI组件的正确使用是构建良好用户体验的基础。TextView作为最核心的文本显示控件,其内容、字体大小、颜色和背景的设置看似简单,实则涉及移动端开发的多个关键技术领域。理解其工作原理,需要掌握Android资源系统、屏幕适配机制和渲染性能优化等核心概念。通过资源化管理和主题化设计,开发者可以实现文本的国际化支持、深色主题适配以及动态样式切换,这对提升应用的可维护性和用户体验至关重要。在实际工程实践中,合理运用**sp与dp单位**进行字体适配,以及通过**ColorStateLi 阅读详情

在xml资源文件中能直接根据控件属性设置字体大小,那怎么在代码中动态设置字体大小呢?

从TextView的源码中可以看到,setTextSize 方法默认设置进去的是 sp 



而从资源文件中读取到数据的方法是 getResources().getDimensionPixelSize 拿到的是px

有两种解决方案


1.转换回sp

  1. TextView mName = (TextView)findViewById(R.id.name);   
  2. mName.setTextSize(DensityUtil.px2sp(context, getResources().getDimensionPixelSize(R.dimen.my_text_size)));  


2.直接使用px 见上图 setTextView 第二个方法


  1. TextView mName = (TextView)findViewById(R.id.name);   
  2. mName.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.my_text_size));  




Android TextView视觉定制全解析:从核心属性到性能优化实战 在Android应用开发中,UI控件的视觉定制是构建良好用户体验的基础。TextView作为最核心的文本显示组件,其渲染机制涉及系统主题、资源配置与设备密度等多重因素。理解其工作原理,掌握内容、字体、颜色与背景四大属性的正确配置方法,是实现界面美观、性能高效的关键。通过资源文件管理字符串与颜色,使用sp单位适配字体大小,并利用ColorStateList与Shape Drawable处理状态与背景,不仅能提升开发效率,还能确保应用在不同设备与主题下的兼容性。本文聚焦TextView的深度定制,结合国际化、深 阅读详情

相关推荐

浅扒Android动态设置字体大小的示例

说点废话 Android开发中,TextView类的控件应该说是很常用了。一般来说我们是通过android:textSize=”20sp” 来设置字体大小,但是很多时候也需要动态设置字体大小,调用也很简单: textView.setTextSize(textSize); 为了适配各种各样的型号,我们一般会将字体大小定义到dimens.xml之中: <dimen name=text_size>16sp</dimen> 然后在java代码中设置定义好的字体大小: float dimen = getResources().getDimension(R.dimen.text_size);

android 设置字号

android 设置字号和颜色

xie__jin__cheng的博客 1278

保姆级教程:用北醒TFmini-i-CAN雷达给PixHawk飞控加装‘眼睛’,实现自动避障与定高

经过多次测试,前向雷达的最佳安装位置是机架前部下方5-10cm处,倾斜角度20-30度。电源方面,建议为CAN设备单独供电,避免电机启动时的电压骤降导致数据异常。北醒TFmini-i-CAN雷达与PixHawk飞控的组合,为DIY爱好者打开了低成本实现智能避障的大门。实际部署时,需确保整个CAN网络的波特率一致(TFmini-i默认为250kbps),每个设备具有唯一ID。雷达的安装角度也直接影响检测效果,建议通过3D打印支架将雷达向前下方倾斜15-30度。当使用多个雷达时,需为每个设备创建独立的参数组。

weixin_30892889的博客 337

Android getDimensionPixelSize, 代码中设置字体大小,读xml配置。

//给一个id为name的TextView设置字体大小 TextView mName = (TextView)findViewById(R.id.name); mName.setTextSize(22); 开始学Android的时候,设置字体大小,无非用上面的代码。写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点。Android编写多了,想要读dime

易水寒 8559

从网格划分到结果解读:一次完整的子弹侵彻LS-DYNA仿真避坑指南

本文详细解析了子弹侵彻LS-DYNA仿真中的关键技术与避坑指南,涵盖网格优化、对称边界条件设置、沙漏控制参数调整及结果可信度验证。通过HyperMesh网格划分和LS-DYNA高级参数配置,帮助工程师提升仿真精度与效率,确保计算结果物理可信。

weixin_29816689的博客 406

基于STM32开发的智能语音控制系统

本文将介绍如何使用STM32微控制器开发一个智能语音控制系统,通过语音识别模块、OLED显示屏、Wi-Fi模块等实现对家用电器或其他设备的语音控制。智能语音控制系统的核心是STM32微控制器,通过语音识别模块识别用户的语音指令,并根据指令控制家用电器或其他设备。:定期测试语音识别模块、继电器控制模块、OLED显示屏和Wi-Fi模块的工作状态,确保系统能够在各种情况下正常运行,并保持智能语音控制系统的可靠性。本系统同样适用于办公环境,可以通过语音指令控制办公室设备,如照明、空调等,提供智能化的办公体验。

stm32d1219的博客 6911

动态代码设置Textview的字体大小,引用Dimen资源

xml文件设置Textview字体大小,可直接设置android:textSize="@dimen/common_font_sw320dp_of_13" 但是通过动态代码设置时,通常会遇到引用Dimen文件失效或者文字大小异常的状况,例如下面这2种方式都不对 tvHaveStockAt.setTextSize(context.getResources().getDimension(R.dime

hs_73的博客 4347

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1963

TextView通过获得dimens.xml中定义的大小来动态设置字体大小

                      Android动态设置字体大小 结论: Android中并不提供直接从dimens.xml获取dp/sp数值的方法,通过getDimensionPixelSize() getDimension() getDimensionPixelOffset()获取的值是经过处理的。所以正确地动态设置TextView字体大小的姿势应该是: int dimen ...

dawnZeng的博客 1491

MIKE水动力笔记13_数字化海图2之克里金插值

在进行MIKE水动力建模之初,需要准备好水深数据,本专题系列博文主要讲解如何将扫描版JPG格式海图数据在ArcGIS中进行数字化并制作成xyz水深地形数据,用的克里金插值方法,仅供参考。

晏长街的博客 2879

6、哈代空间、算子函数及相关概念解析

本文深入探讨了数学中哈代空间与算子函数的核心概念,包括强函数的因式分解、半单零点的定义与性质、Blaschke-Potapov乘积的存在性、Nagy-Foias模型算子的结构与谱分析、可数集合的相关性质(如Carlesonian集合、稀有集合等)、简单分式族的可分性与基性质,以及指数型整函数的增长特性。文章还分析了这些数学对象之间的内在联系,并通过图表与表格形式直观呈现了集合性质与函数空间结构的关系。这些理论不仅在数学分析和泛函分析中具有重要意义,也在信号处理、量子力学等应用领域具有广泛价值。

yhn4567890的博客 169

将TextView设置根据dimens.xml中值设置字体大小

注意: TextView的setTextSize(float size))默认单位是sp,特别注意这个地方很容易犯错。 public void setTextSize(float size) { setTextSize(TypedValue.COMPLEX_UNIT_SP, size); } // dimens.xml中的定义22sp  // 给一个id为name的TextVie

zhuhai__yizhi的专栏 1811

高速电路设计必看:同步开关噪声问题解析

数字电路中的同步开关噪声(SSN)问题日益突出,尤其是随着高速器件应用增多。本文分析了地弹和电压弹的产生机理,指出其与电源网络电感、输出驱动电流变化率密切相关。文章详细阐述了地弹参数特征,包括峰值电压、脉冲宽度等关键指标,并探讨了负载电容、信号压摆率等因素对地弹的影响。最后提出系统化的解决方案,涵盖芯片选型、电路设计、PCB布局和后期调试等多个环节,强调通过降低回路电感和控制电流变化率来有效抑制SSN。这些措施需要在性能、成本和复杂度之间取得平衡,为高速数字电路设计提供了重要参考。

一只豌豆象的博客 296

android设置应用字体大小,在Android应用程序改变的TextView的字体大小从原始设置更改字体大小(Font size...

我想在我的应用程序指定我自己的文字大小,但我有这样一个问题。当我在设备设置中更改字体大小,我的应用程序的字体大小TextView也会改变。Answer 1:其实,设置字体大小只影响大小sp 。 因此,所有你需要做的-定义textSize在dp而不是sp ,然后设置将不会在您的应用程序更改文字大小。下面是该文档的链接: 尺寸但是请注意预期的行为是在所有的应用程序的字体尊重用户的喜好。 原因有很多...

weixin_34982726的博客 1374

LIN协议V2.2A版介绍

IN 协议规范2.2A 版(2010 年 12 月发布)是面向低成本汽车网络的标准,核心采用单主多从架构,支持最高20kbit/s速率,通过单总线实现通信;定义了完整的协议栈(含协议层、传输层、物理层等),规定了帧结构(含 Break 字段、Sync 字节、保护标识符 PID、数据字段、校验和)、5 类帧类型(无条件帧、事件触发帧等)及调度表机制以保障确定性传输;

qflook的博客 319

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android开发手机字体大小设置,安卓代码动态设置字体大小

//给一个id为name的TextView设置字体大小TextView mName = (TextView)findViewById(R.id.name);mName.setTextSize(22);开始学Android的时候,设置字体大小,无非用上面的代码。写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点。Android编写多了,想要读dimens里设置的22...

weixin_30975527的博客 1483

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android dimens.xml用法

dimens.xml xml version="1.0" encoding="utf-8"?>resources>        dimen name="dimen.my_text_size">10spdimen>    resources> 1、设置字体大小 TextView mName = (TextView)findViewById(R.id.name); getDimensi

Raleigh 1593

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android改变全局字体大小

android改变全局字体大小 随着app越来越人性化,这就造成了需求的越加变态,这里,我想向所有移动开发的同仁说,干死需求他丫的,好了,废话说到这里,下面进入正题,如何全局改变字体大小,首先Activity继承Baseactivity: public class MainActivity extends BaseActivity { @Override protected void

相思雨的博客 1万+

Android TextView深度解析:从基础属性到性能优化的全面指南

在Android应用开发中,UI控件的设计与优化是构建高质量应用界面的核心环节。TextView作为最基础且使用频率最高的文本展示控件,其看似简单的属性设置背后,蕴含着影响用户体验和性能表现的关键原理。理解TextView的内容管理、字体适配、颜色系统与背景定制,不仅能提升界面的视觉层次和可读性,更是实现应用国际化、深色主题适配等现代需求的工程基础。通过合理运用SpannableString实现富文本、采用sp单位进行字体缩放、以及利用资源文件管理颜色与字符串,开发者可以构建出既美观又健壮的文本展示组件。特

weixin_30386713的博客 486

values资源之dimens和space

文件dimens.xml xml version="1.0" encoding="utf-8"?> resources> dimen name="print_content_margin_bigger">30pxdimen> dimen name="print_content_margin_greater">24pxdimen> dimen name="pr

xinxin__的专栏 280

如何在代码中动态设置字体大小

//给一个id为name的TextView设置字体大小  TextView mName = (TextView)findViewById(R.id.name); mName.setTextSize(22); 开始学Android的时候,设置字体大小,无非用上面的代码。写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点。Android编写多了,想要读dimens...

weixin_34409357的博客 494

android 字体大小 资源文件,设置textView的字体大小和资源文件不一致的问题

今天想对程序里的文字做个适配,网上找到了个大家疯转的方法。this.getResources().getDimension();于是乎就引出了下面的问题,我不知道是什么问题。也没找到答案! 本着测试为主,就建立了一个,以下是dimens.xml的代码:24.0sp以下是布局文件的代码:android:layout_width="fill_parent"android:layout_height="...

weixin_39906245的博客 345

代码控制textview字体 单位和大小

[cpp]  //给一个id为name的TextView设置字体大小  TextView mName = (TextView)findViewById(R.id.name);  mName.setTextSize(22);  开始学Android的时候,设置字体大小,无非用上面的代码。写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点。Android编写多

1802

Android字体大小设置自适应屏幕分辨率

在不同的分辨率下,Android字体大小怎么自适应分辨率的变化? 假设需要适应320x240,480x320分辨率。在res目录下新建文件夹values-320x240, values-480x320。然后在文件夹 values ,values-320x240 和 values-480x320 下新建xml文件dimens.xml,该xml文件内容如下:

2444
上一篇: Android用ContextCompat替换getResources()获取资源
下一篇: android项目从零开始 内存优化 SparseArray ArrayMap
束千凡
博客等级 码龄14年 21粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值