自定义控件 TextView.setTextSize(R.dimen.text_size_16)字体大小的问题

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

非常感谢 http://blog.youkuaiyun.com/philofly/article/details/8652439


中间愿意就不贴了,详见原文。

最终解决办法就是:

setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.dimen_30sp));

完美解决字体大小不正常问题。

android TextView空间的setTextSize()方法在真机上运行字体大小控制 真机上TextView的setTextSize()方法测试,真机和模拟器上setTextSize方法运行的差别 另附博客说明http://blog.csdn.net/msl0903/article/details/7887382 立即下载

相关推荐

魔改xjar支持springboot3,

其实这里基本就没问题了,实际项目中只要把这个spring-core包从私仓中替换,项目加密也就没有太大的毛病,但是这样对于追求完美的我来说,方便性还差点。原因找到了,看了下springboot github的issue,官方确实变更了,原因是因为springboot2中的。xjar项目文档还是不错的,clone下来,跟着文档,很容易就测试并通过了我的测试项目,于是便推给其他同事使用了。方法,那么问题来了,为啥springboot2没问题,spring3读取出来的却又是加密的,这是为毛?

jioulongzi的专栏 1537

安卓代码中获取dimen设置字体大小setTextSize,会变得比dimen的值还大——解决方法

背景 holder.tvMsgContent.setTextSize(mContext.getResources().getDimensionPixelOffset(R.dimen.message_content_font));<dimenname="message_content_font">32px</dimen>实际效果: 上面第一句java代码,设置...

Skyf 1万+

中科蓝讯蓝牙开发:从源码到固件的自动化构建链路解析

本文详细解析了中科蓝讯AB530X蓝牙芯片从源码到最终固件的完整自动化构建链路。通过剖析prebuild.bat、GCC编译、postbuild.bat等关键环节,阐述了资源打包、配置生成、代码编译与固件合成的全过程,并重点介绍了如何实现一键编译与自动下载,为开发者高效进行嵌入式蓝牙开发提供清晰指南。

weixin_29193259的博客 121

将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

发那科机器人编程软件fanuc roboguide授权补丁_工业机器人离线编程与应用:ROBOGUIDE V8.3版本的工程文件创建...

欢迎关注我们ROBOGUIDE是发那科机器人公司提供的一个离线编程工具,可模拟现实中的机器人和周边设备的布局,通过虚拟TP示教来模拟机器人的运动轨迹,同时可以验证方案的可行性和准确的周期时间。ROBOGUIDE是一款核心应用软件,具体的还包括搬运、弧焊、喷涂等其他模块。以最新的8.3版本为例进行讲解,对于未注册的版本将有30天的免费使用期限。开始菜单击开始菜单中的HandingPRO启动程序,第一...

weixin_39791446的博客 2924

【文章阅读+代码复现】Point-GNN

Brief 在3D点云语义分割方法中,GNN已经做了很多可用的方案,但是在目标检测上依旧是采用比较传统的CNN和稀疏卷积的组合,这一篇文章是研究了图卷积在3D检测的中的用法。来自卡内基梅隆大学。已经被CVPR2020接收. 这里是 paper 这里是 code Abstruct 一个采用GNN设计的3D目标检测框架 过程是先将点云场景编码成图结构,随后设计了一个叫point-GNN的网络结构,在...

有所为,有所成长 1万+

Android(七)应用的资源

字符串资源 1.定义字符串资源文件<string> 2.使用字符串资源:①在xml文件中,②在java文件中 在左侧Android-demo-res-strings.xml中便可找到 name就是字符串资源的名称 <string name="app_name">内容</string>//定义字符串资源:开始标记和结束标记之间就可以添加字符串资源的内容,内容为显...

srmmh的博客 758

一个响应ping包延迟偏大的问题

前段时间客户反馈一个使用pc上的命令行ping无线设备(WiFi4)时,设备平均响应时间(测试时长2小时,1秒Ping一次)相比其它机型偏慢的问题,并上传上具体的时间的Log.从log中看到,大多数包的响应还是比较快的,只是个别响应时间较长,且响应时间长的包时间几乎都是一样的100多ms.如下是部分响应时间截图. 整个2小时的测试时间里,总是时不时的出这么上102,104ms的响应时间,这直接导致了平均响应时间被拉大.于是本地测试,也发现了类似的延迟.本地测试时,现象略有...

流风回雪的博客 1万+

Android知识点总结: setTextSize 与 getTextSize的单位各是什么

如图 setTextSize的单位是sp,getTextSize的单位是px,直接从dimen文件中拿到的值也是px。可见setTextSize比较特殊,设置时需要根据实际情况进行转换。 下图setTextSize中传入13,但是getTextSize取出的是21。

lidec的专栏 3021

【NVIDIA】Jetson Orin Nano系列:烧写Ubuntu22.04

Jeson Orin Nano系列:烧写Ubuntu22.04 电脑主机可以是Ubuntu20.04

郭老二 4894

基于STM32LXXX的模数转换芯片ADC(CMS24AD2001)驱动C程序设计

/ 电压 = (原始值 / 2^23) * Vref (注意:24位有符号数范围为 -2^23 到 2^23-1)//---------------- 硬件端口映射 (请根据实际电路修改) ----------------ADC_SCLK_HIGH();- PGA 放大倍数可选:1、2、4、8、16、32、64、128、256;//---------------- 宏定义操作 -------------------//---------------- 函数声明 -------------------

myron6688的博客 160

Android下setTextSize 解读

问几个问题先在app/src/main/res/values/dimens.xml中定义尺寸如下:&lt;dimen name="font1"&gt;18sp&lt;/dimen&gt; 在代码中引用此尺寸如下:mText.setTextSize(18); // 方法1 mText.setTextSize(getResources().getDimension(R.dimen.font1)); ...

huiye520的专栏 2855

C++幂运算全解析:std::pow()函数详解与实战指南

本文详细介绍了C++标准库中的std::pow()函数,包括其基本用法、数学定义和多种重载形式。重点分析了该函数在科学计算、图形处理等领域的实际应用,并提供了性能优化方案如快速幂算法和预计算表。文章还探讨了精度控制、错误处理等关键问题,最后通过一个完整计算器实现展示了综合应用。std::pow()作为基础数学函数,合理使用能显著提升计算效率和代码可靠性。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 340

TextView设置R.dimen.text_size的值注意

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.text_size)); 18sp 注意:dimens.xml里面的单位会影响转换的。

u010746364的博客 2459

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 控件自定义属性,android 组合控件添加自定义属性

实现效果: 第一个效果是在输入框中添加了一个时间选择的按钮,当点击按钮时弹出对应的对话框 第二个效果是在输入框中添加了一个textview,然后textview可以在XML文件中进行配置,主要介绍第二个,其实逻辑都是一样的 1. 在values下面添加文件attrs.xml文件实现效果:第一个效果是在输入框中添加了一个时间选择的按钮,当点击按钮时弹出对应的对话框第二个效果是在输入框中添加了一个te...

weixin_35651578的博客 309

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TextView.setTextSize 单位问题

TextView.getTestSize 获得的数值的单位是sp,但是我们在代码里面通过getResources()引用尺码会出现问题 解决方法是获得尺码后再除以屏幕密度获得真正的sp数值。则可解决问题 代码如下: float getxsmd = getPxdensity(mContext); right_tv.setTextSize(TypedValue.COMPLEX_UNIT_SP,

jmu_zhoumei的博客 631

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android 自定义控件中正确使用setTextSize设置字体大小

Android 自定义控件中正确使用setTextSize设置字体大小

weixin_42169702的博客 2278

getResources().getDimension(R.dimen.xsmall_text_size) 与 setTextSize(16)区别

转载 http://blog.csdn.net/philofly/article/details/8652439 由sp单位引发的惨案 分类: android 2013-03-08 22:44 699人阅读 评论(0) 收藏 举报 我的一个同事自定义了一个控件,控件代码如下:   [java] view plaincopy

an__qi的专栏 4509

自定义TextView的TextSize属性getDimension和setTextSize的冲突

在写Android自定义控件的时候,涉及到TextView的TextSize属性。 我写的属性如下: 获取TextSize和设置TextSize的时候,如下所示: int textSize = (int) a.getDimension(attr, TypedValue .applyDimension(TypedValue.COMPLEX_U

黑化肥发挥会挥发 7047

setTextSize配合getDimension设置字体尺寸过大的问题

getDimension()、getDimensionPixelOffset()和getDimensionPixelSize() 这三个函数返回都是像素。 1)getDimension返回float; 2)getDimensionPixelOffset会进行取整,返回int; 3)getDimensionPixelSize会进行四舍五入,返回int; 配合getDimension,使用setTex...

hanshiying007的博客 861

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

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

hs_73的博客 4347

自定义控件时使用setTextSize出现的问题

问题:自定义控件设置字体大小时使用setTextSize(getResources().getDimension(R.dimen.search_hot_item_text_size))得到的效果跟layout布局文件效果不一样呢? 主要看下setTextSize函数源代码: 如果不设置unit参数的话,默认是用TypeValue.COMPLEX_UNIT_SP,再看applyDimens

jie123jie123的专栏 1005

Android中button自适应textsize

button宽度固定,如果要显示的text很长,那么可能显示不全,这里想了一种方法,根据text的长度计算合适的textsize来显示,下面是代码 package com.example.utils; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint

gaopeng62524的专栏 9338

android TextView 的setTextSize方法的使用

今天,简单讲讲android的TextView 的setTextSize方法的使用。 之前,我看代码时发现了这个函数,于是在网上查询了这个函数的用法,发现之前自己了解的不够全面,所以这里记录一下。 看了看TextView的源码: public void setTextSize(float size) { setTextSize(TypedValue.COMPLEX_UN

谢岩的博客 3万+

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

在xml资源文件中能直接根据控件属性设置字体大小,那怎么在代码中动态设置字体大小呢? 从TextView的源码中可以看到,setTextSize 方法默认设置进去的是 sp  而从资源文件中读取到数据的方法是 getResources().getDimensionPixelSize 拿到的是px 有两种解决方案 1.转换回sp TextView mNa

mxthing的专栏 1186
上一篇: Android中Fragment中onActivityResult不被调用的解决方案
觉守
博客等级 码龄12年 4粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值