技术标签: gradle as android 字体 Android
holder.tvMsgContent.setTextSize(mContext.getResources().getDimensionPixelOffset(R.dimen.message_content_font));
<dimen name="message_content_font">32px</dimen>
实际效果: 上面第一句java代码,设置的是红框中的字体大小,按理说应该和上面的标题差不多大小吧,为什么差这么多呢?
动态设置TextView字体大小时候,会出现偏差。
TextView中暴露出来设置字体大小的方法有两种。
setTextSize(float size)
setTextSize(int unit, float size)
上面用的是第一种,现在看看第二种方法的源码
/**
* Set the default text size to a given unit and value. See {@link
* TypedValue} for the possible dimension units.
*
* @param unit The desired dimension unit.
* @param size The desired size in the given units.
*
* @attr ref android.R.styleable#TextView_textSize
*/
public void setTextSize(int unit, float size) {
Context c = getContext();
Resources r;
if (c == null)
r = Resources.getSystem();
else
r = c.getResources();
setRawTextSize(TypedValue.applyDimension(
unit, size, r.getDisplayMetrics()));
}
看到unit这个参数,是用来标记字体大小单位,TypedValue里面设置了好多种,我们常用的就两COMPLEX_UNIT_SP和COMPLEX_UNIT_PX,正好对应平时我们使用的px和sp。
它在内部默认传进来的size是sp单位的,也就是说不管你在外面做了什么处理,调用setTextSize(float size)这个方法时候,size的单位是sp。
这也就是你字体变大的原因。
正确使用时
setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, mContext.getResources().getDimensionPixelOffset(R.dimen.message_content_font))
现在的效果
文章浏览阅读473次,点赞6次,收藏11次。本项目使用Proteus8仿真STM32单片机控制器,使用2个单片机,一个作为发射,一个作为接收,按键、LED等。主要功能:系统运行后,可通过发射机操作K1-K5键控制接收机LED1-LED5指示灯亮灭。_protues红外线接收器
文章浏览阅读518次,点赞10次,收藏7次。OpenPCDet的3D目标检测的初步实践环节_realsense ply
文章浏览阅读6.1w次,点赞14次,收藏80次。netframework3.5怎么安装以及netframework3.5无法安装的解决方法_net framework 3.5无法安装
文章浏览阅读567次,点赞6次,收藏9次。它支持多种数据库类型,包括MySQL、PostgreSQL、SQLite等,方便用户进行数据库的管理和操作。SQLPro Studio for Mac提供了直观的界面和丰富的功能,使用户可以轻松地连接和管理数据库。用户可以通过该软件执行SQL查询、浏览和编辑数据、创建和管理数据库对象等操作。此外,SQLPro Studio for Mac还提供了数据导入和导出功能,方便用户在不同数据库之间迁移数据或与其他应用程序交换数据。_mac 免费 sql 可视化
文章浏览阅读2.2k次,点赞3次,收藏14次。最小均方误差滤波原理低通滤波不能像中值滤波那样很好的滤除冲激噪声。因为低通滤波的最终结果混合了图像信号无关的噪声和信号本身。相反,中值滤波能够在保护图像边缘不受损失的情况下,滤除与图像信号无关的噪声。但是当噪声不完全和图像信号无关,比如被混合了图像本身信号和一定噪声的加性噪声或乘性噪声污染的图像,我们该如何消除此种噪声呢?或许需要构造一种更加智能的滤波。自适应滤波的提出就是为了解决上述问题。自适应滤波利用图像局部特性和结构自适应选择合适的方法滤除噪声。根据图像局部邻域统计信息自适应滤波的时候,如果我_方差 误差滤波
文章浏览阅读754次,点赞10次,收藏4次。我这个是直接通过传入dom生产的sheet页,也可以通过数据生成sheet页,xlsx都有对应的方法,其实不影响我们修改样式。主要关注addRangeBorder(给合并行列赋值样式)、setExcelStyle(设置导出Excel样式)这两个方法。由于上次写的修改样式只关注了单元格的宽度,并没有设置颜色以及没关注到合并的单元格部分样式没设置上等问题,所以这篇来说下。我们通过xlsx可以通过dom元素、或者数据来生产sheet页,然后我们修改样式就操作对应的sheet页就可以了。_xlsx.utils 添加背景色
文章浏览阅读1.2k次。A mapping guide for complex, multithreaded, multiprocess applicationsSrinivasan Muthuswamy ([email protected]), Software Engineer, IBM Global Services GroupSrinivasan S. Muthuswamy works as a Software Engineer for IBM Global Services Group. He jo_semop namedevent
文章浏览阅读7.1k次。在证书服务器搭建好了之后,通过网页申请证书时,会报“由于吊销服务器已脱机,吊销功能无法检查吊销”的情况,导致不能正常下载证书解决方法:在活动目录服务器上,打开运行,输入cmdcertutil.exe -setreg CA\LogLevel 2提示旧值LogLevel REG_DWORD = 3新值LogLevel REG_DWO..._数字证书 吊销服务器已脱机
文章浏览阅读6.3k次,点赞11次,收藏88次。一、生成数据表1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:import numpy as npimport pandas as pd2、导入CSV或者xlsx文件:df = pd.DataFrame(pd.read_csv(‘name.csv’,header=1))df = pd.DataFrame(pd.read_excel(‘name.xlsx’))3、用pandas创建数据表:df = pd.DataFrame({“id”:[1001,1002,1003,_df.head()
文章浏览阅读1.9k次。???? Hello,村长布局效果对比前后解决不居中的原因,我的 item 布局根容器使用的是 ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="wrap_content" android:layout_height="wrap_content"布局根容器使用 LinearLayout即可,必须同时指定 android:_android gridlayoutmanager 内居中
文章浏览阅读1.1k次。AreaTime Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Jerry, a middle school student, addicts himself to mathematical research. Maybe the problems he has thought are rea_jerry, a middle school student, addicts himself to mathematical research. ma
文章浏览阅读3.3k次。之前写代码的时候没注意,在Activity的finish方法里调用了别的方法,后来又在那个方法里调用了finish,然后奇怪的现象出现了,app打不开,卡死,后来才发现,log里无限出现了Duplicate finish request for ActivityRecord,而且不是error形式出现,时间多一点就会出现ANR,所以这么写是会卡死的 @Override publi..._duplicate finish request for