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

//给一个id为name的TextView设置字体大小

TextView mName = (TextView)findViewById(R.id.name); 
mName.setTextSize(22);

开始学Android的时候,设置字体大小,无非用上面的代码。写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点。Android编写多了,想要读dimens里设置的22值。很简单下面就是代码。 www.2cto.com

[java] 
//XML中的定义<dimen name="my_text_size">22sp</dimen> 
//给一个id为name的TextView设置字体大小 
TextView mName = (TextView)findViewById(R.id.name); 
mName.setTextSize(TypedValue.COMPLEX_UNIT_PX, 
               getResources().getDimensionPixelSize(R.dimen.my_text_size));

有时候用一个方法都不怎么看单位了,只知道类型,其实setTextSize()方法写的很清楚,一个参数的方法,单位是scaled pixel,就是sp,不是px(像素)。也就是跟一般xml中定义的<dimen name="my_text_size">22sp</dimen>是一个单位。两个参数的重载方法,一个是单位,一个是数值。一般例子:
[java] 
setTextSize(TypedValue.COMPLEX_UNIT_PX,22); //22像素 
setTextSize(TypedValue.COMPLEX_UNIT_SP,22); //22SP 
setTextSize(TypedValue.COMPLEX_UNIT_DIP,22);//22DIP

getDimensionPixelSize()方法返回的是像素数值,所以mName.setTextSize(TypedValue.COMPLEX_UNIT_PX,
               getResources().getDimensionPixelSize(R.dimen.my_text_size)); 是这样的写法。
开始我写成了mName.setTextSize(getResources().getDimensionPixelSize(R.dimen.my_text_size));发生了严重错误,如上所说,setTextSize默认是SP单位,我却传进去了像素的数值,结果字体变异常大了。

时间: 2024-10-11 01:28:59

如何在代码中动态设置字体大小的相关文章

在代码中动态设置android里View的边距

有时候需要动态设置某个View的位置,如果在布局文件中写则其布局已定. 这时可以通过在代码中根据不同的需要增加判断后,在设定边距等. 如下. 需要说下,setMargins() 方法.其括号中的四个参数依次对应的方位为-- 左,上,右,下. 左即指View的左边距. 代码来自mtk android 源码. 在代码中动态设置android里View的边距

Android代码中动态设置图片的大小(自动缩放),位置

项目中需要用到在代码中动态调整图片的位置和设置图片大小,能自动缩放图片,用ImageView控件,具体做法如下: 1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

移动端应该如何动态设置字体大小?

rem由来:font size of the root element,那么rem是个单位,单位大小由它第一代老祖宗的font-size的大小决定.现在前端码农们为了能在各个屏幕上看到一个健康的网页在默默的牺牲着自己的健康,因为不仅要知道rem是个单位,更重要的是要知道怎么能在不同分辨率下呈现的页面都很NB. 事故造成原因:1.px单位在PC上很流行,在手机屏幕上一看,MLGB的,同样的12px却小的跟蚂蚁似的.2.好不容易在iPhone4上调的正常了,换个菊花牌手机,MBD不堪入目了.3.知道

elciple中如何设置字体大小

(1)如果想改变Java代码字体大小等 Window->perference->General->Appearance->Colors and Fonts->找到 需要更改的类型,如果是Java代码:找到Java->Aa Java Editor Text Font...-->点击右上角Edit(编辑) 如下图: (2)如果想改变是其类型的代码字体大小如XML等可以在 Window->perference->General->Appearance-

代码中动态设置相对布局里控件的位置

RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams(); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, R.id.imageButtonCursor); 设置imageButtonCursor在底部(因为之前此控件是依附A控件来设定位置的,根据需求A控件要隐藏掉,当A控

Android中如何设置字体大小

在本文中,我们将介绍一些简单的处理方式,帮助开发人员轻松编写出能够应对各类设备型号的应用程序文本方案,同时为用户提供自定义文字尺寸功能.别担心,整个过程没什么难度,只要一步步按指南进行操作,大家再也不用为调整显示效果而劳心伤神了. 在这篇上手教程中,我们将讨论一些实用性步骤,指引开发人员在拥有足够灵活性的前提下保证文字清晰易读,同时使自己的产品能够适应多种屏幕类型及各类用户显示设定. 用户如何按需求配置字体设定 首先要强调一点,某些用户可能存在视力障碍甚至几近失明,他们无法顺利阅读一般尺寸下的文

[Android] 代码中动态设置shape

TextView textView = new TextView(this); GradientDrawable drawable = new GradientDrawable(); drawable.setCornerRadius(5); drawable.setStroke(1, Color.parseColor("#cccccc")); drawable.setColor(Color.parseColor("#eeeeee")); textView.setBa

解决因为手机设置字体大小导致h5页面在webview中变形的BUG

首先,我们做了一个H5页面,在各种手机浏览器中打开都没问题.我们采用了rem单位进行布局,通过JS来动态计算网页的视窗宽度,动态设置html的font-size,一切都比较完美. 这时候,你自信满满的将h5地址交给了APP工程师,做了一个WEBVIEW嵌套,然后就顺利交工了. 测试组在一堆手机中测试APP,突然,在某个手机上打开,你的页面布局了乱了,字变大或者变小,总之很奇葩. 你怀疑是APP的问题,但是客户端死活不承认.你在该手机浏览器中查看,确保没有一毛钱问题,也死活不承认是你的问题.于是测

jQuery实现设置字体大小代码实例

jQuery实现设置字体大小代码实例:设置网页中字体的大小是常见的操作,下面就通过代码实例介绍一下如何实现此功能.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落<