Android 如何设置不同设备的字体

Android 如何设置不同设备的字体,android,Android,我正在创建一个简单的应用程序来显示通知。我想要大设备上的大字体和小设备上的小字体。请帮忙 以下是dpi-213平板电脑的屏幕截图 下面是Moto G3手机的屏幕截图,显示的是dpi-320 您需要根据所需的屏幕大小和分辨率创建不同的值文件夹,并在每个文件夹中放置“dimens.xml”文件 例如: 对于HDPI设备-您需要使用此名称创建文件夹 "values-sw320dp-hdpi" under this folder put "dimens.xml" "values-large-hdpi

我正在创建一个简单的应用程序来显示通知。我想要大设备上的大字体和小设备上的小字体。请帮忙

以下是dpi-213平板电脑的屏幕截图

下面是Moto G3手机的屏幕截图,显示的是dpi-320


您需要根据所需的屏幕大小和分辨率创建不同的值文件夹,并在每个文件夹中放置“dimens.xml”文件

例如:

对于HDPI设备-您需要使用此名称创建文件夹

"values-sw320dp-hdpi" under this folder put "dimens.xml"
"values-large-hdpi-1024x600" under this folder put "dimens.xml"
"values-sw320dp-mdpi" under this folder put "dimens.xml"
对于大型HDPI设备-您需要使用此名称创建文件夹

"values-sw320dp-hdpi" under this folder put "dimens.xml"
"values-large-hdpi-1024x600" under this folder put "dimens.xml"
"values-sw320dp-mdpi" under this folder put "dimens.xml"
对于MDPI设备-您需要使用此名称创建文件夹

"values-sw320dp-hdpi" under this folder put "dimens.xml"
"values-large-hdpi-1024x600" under this folder put "dimens.xml"
"values-sw320dp-mdpi" under this folder put "dimens.xml"
同样,您也可以在“res”文件夹下为其他设备创建不同的值文件夹

现在,接下来要做什么以及它是如何工作的:

比方说,您在xml中定义了TextView,并且在不同的设备上需要不同的字体大小:

<TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textSize="@dimen/textSize"    // This is the important line
 android:text="Hello"/>

现在,这里出现了“dimens.xml”文件。您需要在不同的dimens.xml w.r.t屏幕大小和分辨率下指定“textSize”的不同大小值

例如:

对于HDPI设备:res>values-sw320dp-HDPI>dimens.xml

 <dimen name="textSize">19sp</dimen>  // Setting size of Text for HDPI devices
 <dimen name="textSize">15sp</dimen>  // Setting size of Text for MDPI devices 
19sp//设置HDPI设备的文本大小
对于MDPI设备:res>values-sw320dp-MDPI>dimens.xml

 <dimen name="textSize">19sp</dimen>  // Setting size of Text for HDPI devices
 <dimen name="textSize">15sp</dimen>  // Setting size of Text for MDPI devices 
15sp//设置MDPI设备的文本大小

同样,您也可以为其他屏幕定义大小。

您应该使用样式,然后您可以有单独的文件夹“值”(默认)“值hdpi”(高密度)“值mdpi”(中等密度)等等,并根据需要将具有正确textSize值的样式文件放在每个文件夹中

然后,当您在中密度设备中时,它将在“values mdpi”文件夹中(如果存在)或在“values”文件夹中(如果不存在)拾取文件,对于高密度设备也是如此


同样的原则也适用于所有“res”子文件夹

您使用哪个单元来显示文本?您是否知道必须使用sp来显示文本大小?这就是大小的用途?我使用sp来显示文本。谢谢,有没有办法在所有屏幕大小上以相同的大小显示应用程序,并写入最少的代码。我不想写所有屏幕的尺寸