随着智能手机的遍及,越来越多的用户开始应用挪动设施来浏览网页、社交媒体和观看视频。为了确保用户在各种屏幕尺寸下都可能取得清晰、好看的显示成果,许多挪动应用程序都采纳了不同屏幕字体自适应的技术。本文将介绍如何在 Android 平台上实现不同屏幕字体自适应。
什么是不同屏幕字体自适应
不同屏幕字体自适应是指在不同屏幕尺寸下,挪动应用程序可能主动调整字体大小和字体格调,以确保显示成果始终保持统一。这种技术的实现须要借助于 Android 零碎的 Font 类和 Drawable 类。
Font 类是 Android 零碎中用于定义字体的类,它提供了一些罕用的字体属性,如字体大小、字体格调等。Drawable 类是 Android 零碎中用于示意图像的类,它反对将图像绘制到屏幕上。
在 Android 零碎中,不同屏幕尺寸通常是指屏幕的宽度和高度。为了实现不同屏幕字体自适应,须要确保在不同屏幕尺寸下,Drawable 类的宽度和高度都可能自适应。
如何实现不同屏幕字体自适应
要实现不同屏幕字体自适应,须要在挪动应用程序中编写代码。上面是实现不同屏幕字体自适应的个别步骤:
1、在布局文件中定义字体。在布局文件中,能够应用 Font 类定义字体,并应用 Drawable 类示意字体。例如:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是一个自适应屏幕字体"
android:fontFamily="@font/calibri" />
在下面的代码中,应用 Font 类定义了一个名为 calibri 的字体,并应用 Drawable 类示意这个字体。在这个例子中,字体大小和字体格调都是依据以后屏幕的宽度和高度自适应的。
2、在代码中调用 drawText() 办法。在 Activity 或 Fragment 的代码中,能够应用 drawText() 办法将文本绘制到屏幕上。例如:
TextView textView = findViewById(R.id.textView);
int textWidth = textView.getMeasuredWidth();
int textHeight = textView.getMeasuredHeight();
Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);
int drawableWidth = drawable.getIntrinsicWidth();
int drawableHeight = drawable.getIntrinsicHeight();
int textX = (textWidth - drawableWidth) / 2;
int textY = (textHeight - drawableHeight) / 2;
drawable.setBounds(textX, textY, drawableWidth, drawableHeight);
drawable.draw(textView);
在下面的代码中,首先获取了以后屏幕的宽度和高度,而后应用 getResources().getDrawable() 办法获取了一个名为 my_drawable 的 Drawable 对象,并应用 getIntrinsicWidth() 和 getIntrinsicHeight() 办法获取了这个 Drawable 对象的宽度和高度。
本文由 mdnice 多平台公布