Android中如何设置字体大小

在本文中,我们将介绍一些简单的处理方式,帮助开发人员轻松编写出能够应对各类设备型号的应用程序文本方案,同时为用户提供自定义文字尺寸功能。别担心,整个过程没什么难度,只要一步步按指南进行操作,大家再也不用为调整显示效果而劳心伤神了。

在这篇上手教程中,我们将讨论一些实用性步骤,指引开发人员在拥有足够灵活性的前提下保证文字清晰易读,同时使自己的产品能够适应多种屏幕类型及各类用户显示设定。

用户如何按需求配置字体设定

首先要强调一点,某些用户可能存在视力障碍甚至几近失明,他们无法顺利阅读一般尺寸下的文字内容。Android操作系统意识到了这些情况,并提供了一套显示辅助功能,使得用户可以根据自己的使用习惯随意缩放设备中文本字体的大小。

要在设备上修改字体设定,首先启用“设定”应用,然后选择“显示”项下的“字体尺寸”。用户可以在设备预置的四种文本字体尺寸中选择适合自己的方案(包含小、正常、大、超大),详见图一。

使用动态字体尺寸

如果大家希望自己的应用文字能够根据用户偏好设置进行灵活调整,则需要使用SP(即可缩放点)单位对文本字体尺寸加以定义。Android平台允许 我们通过各种方式为各种显示要素的尺寸赋值。而在文本尺寸方面,我们一般推荐使用诸如DP(与设备无关的像素)及SP为显示密度进行单独设定。SP单位在 文字尺寸方面表现最佳,因为它能够完全按照用户的显示设定调整实际效果。

以下内容就是我们在SP单位中利用TextView(即文本显示)功能定义字体尺寸:

  1. <TextView
  2. android:id="@+id/textView4"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:text="Sample Text - 26sp"
  6. android:textSize="26sp" />

而在标题、首行文本或者滚动文本框方面,我们往往不希望用户的偏好设定给显示效果带来影响。在这类情况下,大家就应该尝试DP单位,因为它完全根据设备的像素密度调整显示,而不涉及任何用户偏好设定。

使用固定像素尺寸

如果大家希望自己的应用文本在任何情况下都保持同样的尺寸,那么PX单位的固定像素尺寸功能会帮上大忙。虽然有时候这么做会使默认字体尺寸在某些设 备上难以阅读,但如果大家有充分的理由坚持这一点,那么禁用文本内容缩放或尺寸变更还是有必要的。在这类情况下,大家不妨利用绝对尺寸值为字体设计大小, 例如指定文字的像素显示数量。

在下面的文本框中,我们利用像素(简称PX)单位为字体设置固定的尺寸。通过这种方式,文本内容会严格按照我们的定义进行显示,而不会被用户的偏好设置或者其它干扰因素所影响。

    1. <TextView
    2. android:id="@+id/textView5"
    3. android:layout_width="wrap_content"
    4. android:layout_height="wrap_content"
    5. android:text="Sample Text - Fixed Pixels"
    6. android:textSize="14px" />

使用标准系统字体尺寸

Android平台定义了一套普遍适用的字体尺寸方案,我们可以将其直接套用到自己的应用程序当中:小、中、大三种选项基本能够满足各类用户需求。这些字体尺寸以SP单位为基础配置而成,因此会随着用户的偏好设置而发生变更。

下面的XML定义了三种文本框控制类型,一种会显示小字体、一种显示中字体、第三种则显示大字体。

  1. <TextView
  2. android:id="@+id/textView1"
  3. style="@android:style/TextAppearance.Small"
  4. android:layout_width="wrap_content"
  5. android:layout_height="wrap_content"
  6. android:text="Sample Text - Small" />
  7. <TextView
  8. android:id="@+id/textView2"
  9. style="@android:style/TextAppearance.Medium"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:text="Sample Text  - Medium" />
  13. <TextView
  14. android:id="@+id/textView3"
  15. style="@android:style/TextAppearance.Large"
  16. android:layout_width="wrap_content"
  17. android:layout_height="wrap_content"
  18. android:text="Sample Text  - Large" />

现在让我们将前面提到的内容综合起来,并在“冰淇淋三明治”版本的Android设备上看看文本框的实际显示效果。先看第一幅图,用户在偏好设置中选择了普通字体;在第二幅图中,用户则在偏好设置中选择了超大字体。请注意文本框功能在不同的设置下是如何控制显示效果的。

总结

Android设备林林总总,尺寸不同且形状各异,因此Android用户必然会根据自己设备型号的不同对应用程序中的字体提出有针对性的需求。由 于屏幕尺寸的固有限制,开发人员必须在应用程序中采取适当的应对措施,才能保证文本内容在任何机型中都拥有理想的可读性与灵活的排版效果。第一步,确保自 己的应用程序使用完全独立于设备之外的、以像素为基础单位的尺寸设置方案,但也不要忘了用户设置将给实际显示效果带来的巨大甚至是意料之外的影响。

原文链接http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-basic-font-sizes/

时间: 2024-10-19 21:34:16

Android中如何设置字体大小的相关文章

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

//给一个id为name的TextView设置字体大小 TextView mName = (TextView)findViewById(R.id.name); mName.setTextSize(22); 开始学Android的时候,设置字体大小,无非用上面的代码.写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点.Android编写多了,想要读dimens里设置的22值.很简单下面就是代码. www.2cto.com [java] //XML中的定义<dime

Android中TextView设置字体

最近项目中出现把字体设置成宋体,微软雅黑,黑体,楷体等的需求; 度娘发现Android系统默认支持三种字体,分别为:"sans", "serif", "monospace",除此之外还可以使用其他字体文件(*.ttf) 代码如下: //得到TextView控件对象        TextView textView =(TextView)findViewById(R.id.custom); //将字体文件保存在assets/fonts/目录下,创建

elciple中如何设置字体大小

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

Android Text文本设置字体大小

可以指定单位: setTextSize(int unit, int size) TypedValue.COMPLEX_UNIT_PX : Pixels TypedValue.COMPLEX_UNIT_SP : Scaled Pixels TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels mText.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);

Android Studio升级到0.8.1后怎样设置字体大小?

升级到0.8.1后.打开设置字体大小页面.你会发现无论是Default还是Darcula,都不同意你改变字体的大小.事实上这个是由于这两个模式是Android Studio自带模式,所以不同意你修改,你要改的话要自己定义自己的模式.例如以下图: 选中一个你想要的样式,然后点击Save as,然后在弹出的对话框中输入你自定义的样式的名称. 然后再把Scheme name选择成你自己定义的样式,这个时候就能够改了.

Android Studio升级到0.8.1后如何设置字体大小?

升级到0.8.1后,打开设置字体大小页面,你会发现不管是Default还是Darcula,都不允许你改变字体的大小,其实这个是因为这两个模式是Android Studio自带模式,所以不允许你改动,你要改的话要自定义自己的模式.如下图: 选中一个你想要的样式,然后点击Save as,然后在弹出的对话框中输入你自己定义的样式的名称. 然后再把Scheme name选择成你自定义的样式,这个时候就可以改了. Android Studio升级到0.8.1后如何设置字体大小?,布布扣,bubuko.co

android TextView 设置字体大小

package com.example.yanlei.yl4; import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.Spannable;import android.text.style.AbsoluteSizeSpan;import android.text.style.BackgroundColorS

XCode中设置字体大小

XCode中设置字体大小 1)打开Preferences,快捷键是“Command + ,”(注意,是三个键,按住command键,然后再快速地按“+”和“,”两个键即可) 2)选择“Fonts & Colors”,选中所有的“Category”,然后双击“Font”一列,在弹出的对话框中选择适合自己的字体大小即可.

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

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