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

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

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

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

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

使用动态字体尺寸

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

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

android:id="@+id/textView4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Sample Text - 26sp"

android:textSize="26sp" />

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

使用固定像素尺寸

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

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

android:id="@+id/textView5"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Sample Text - Fixed Pixels"

android:textSize="14px" />

使用标准系统字体尺寸

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

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

android:id="@+id/textView1"

style="@android:style/TextAppearance.Small"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Sample Text - Small" />

android:id="@+id/textView2"

style="@android:style/TextAppearance.Medium"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Sample Text  - Medium" />

android:id="@+id/textView3"

style="@android:style/TextAppearance.Large"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Sample Text  - Large" />

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

总结

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

android设置字体大小,Android中如何设置字体大小相关推荐

  1. android qq 禁用字体,在qq中如何设置界面字体大小图文教程

    怎么修改QQ聊天打字的字体 第一步自己下载吧.比如方正喵呜体.汉仪丫丫体.华康少女文字等等,下载好之后.放在桌面容易弄呵 第二步打开控制面板] 里面会有一个 这样的东西,可能有些人不一样,可是差不多就 ...

  2. android xml显示调整,AndroidStudio中怎么设置xml与预览同时显示?

    Android Studio做程序开发的时候,为了看程序运行结果和修改错误的地方,经常需要修改xml后就切换到预览去查看效果.经常切换很烦,想要同时显示xml与预览界面,下面我们就来看看详细的教程. ...

  3. matlab+字体设置大小,Matlab中如何修改字体的大小?

    题目:Matlab中如何修改字体的大小? 使用Matlab有好几年了,一直以为command windows等窗口中的字体或者.m文件中的字体都是无法改变的,记忆中改过几次想改大一些都没成功,所以&q ...

  4. java label设置字体颜色_Java中怎么设置JLabel的字体样式,大小,颜色

    展开全部 答 : 最常32313133353236313431303231363533e4b893e5b19e31333363386166见的解决方案有两种. 第一种: 原生的java写法. 核心代码 ...

  5. androidstudio使用mac字体_如何在Android Studio编写的项目中使用自定义字体

    有很多方法可以在字段上设置自定义字体系列,我使用如下所示. 要将字体添加为资源,请在Android Studio中执行以下步骤: 1)右键单击res文件夹,然后转到新建> Android资源目录 ...

  6. html布局文字设置,div css布局中css中文字体设置

    在HTML网页结构中,会用到中文字,而中文字有得多中笔墨体,有的开发者在自身电脑中下载并安装不少摩登字体.而这些中文字体CSS设置装备摆设提倡? 1.不克不及随意CSS设置装备摆设本人安装中笔墨体 假 ...

  7. java word设置纸张a3,Word中进行设置A3文档纸张大小的操作技巧

    在工作中最常用的纸质文档是A4的,但是我们有时候也需要用一些A3甚至其他纸张的文档,那么,在做文档的时候该如何设置呢?今天,学习啦小编就教大家在Word中进行设置A3文档纸张大小的操作技巧. Word ...

  8. android 常用机型尺寸_Android中获取手机屏幕大小的方法

    本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图: 具体代码: 我 ...

  9. php 设置时区 prc,php中如何设置时区

    PHP所取的时间默认是格林威治标准时间,所以和北京时间相差8小时,本文介绍php设置时区的方法. 1.手动修改php.ini设置 在php.ini中找到data.timezone =去掉它前面的;号, ...

  10. php字体大小_PHP中改变网页文字大小代码

    今天给大家介绍一点基础一点的东西,PHP中改变网页文字大小的实现,其实实现起来很简单,熟悉一点PHP和CSS就能很快的实现我们想要的效果. 文本大小调节器是最有效的可访问特性中的一个,任何网站都可能需 ...

最新文章

  1. Tornado 类与类组合降低耦合
  2. 利用PHPExcel转Excel柱形图
  3. 【Android NDK 开发】Ubuntu 函数库交叉编译 ( Android 动态库交叉编译 | Android 静态库交叉编译 )
  4. LinkedHashMap分析
  5. ECharts公共组件:title详解、 tooltip详解、toolbox详解、legend详解、dataZoom详解、visualMap全解...
  6. 第八章:Java_泛型
  7. py语法错误与异常处理
  8. HTML中用弹性布局设置位置,HTML的flex弹性布局
  9. php实验cookie,PHP实验一、二(cookie和session)
  10. 今天,帮技术圈伸张正义!
  11. 网站子域名扫描程序,采用三种扫描方式(crt网站查询、站长网站查询、字典暴力破解)
  12. C语言解释器的实现--让脚本跑起来(六)
  13. pc机收集信息cpu\配置\网络信息
  14. 按键精灵手机助手如何连接安卓版按键精灵如何连接手机助手
  15. Unity手游优化总概
  16. php调用微信公众号支付接口,Thinkphp实现微信公众号支付接口
  17. cocos creator 横版射击游戏全民吃鸡大战 H5+安卓+IOS三端源码
  18. SpeedTree - 在SpeedTree中导入自定义模型
  19. 【运筹学】线性规划 图解法 ( 唯一最优解 | 无穷最优解 | 无界解 | 无可行解 )
  20. js递归返回想要的值

热门文章

  1. 计算机专业答辩需要演示系统么,计算机专业毕业设计答辩流程
  2. 【动画演示软件】Focusky教程 | 如何隐藏某帧的内容,使其在演示时才出现?
  3. 叶俊—中国的安东尼·罗宾
  4. 基于JavaWeb的在线题库管理系统的设计与开发
  5. Android混淆使用详解
  6. DFT信道估计步骤及实例
  7. VC6.0下配置opengl
  8. 介绍中国象棋对弈程序ElephantEye(象眼)
  9. 利用系统函数获取Windows明文密码
  10. [笔记分享] [GPIO] MSM8x39 GPIO 软件部分小结