如何以编程方式在不同的设备上扩展fontsize(Xamarin.android)?

如何以编程方式在不同的设备上扩展fontsize(Xamarin.android)?,xamarin.android,font-size,Xamarin.android,Font Size,我是Xamarin的新手,实际上我正在开发一个Android应用程序。我曾尝试在不同的Android手机上运行该应用程序,但fontSize要么太小,要么太大。通过编程,我如何缩放文本的大小,以便可以根据设备的屏幕进行调整?首先,确保您使用的是dp中的大小,而不是px(或中的,mm等),因为它们会影响屏幕密度 如果您仍然有问题,请查看Android文档,尤其是使用配置限定符。可以找到一些例子 基本上,您需要为每个屏幕大小提供不同的资源文件。您应该有一个类似于res/values/dimens.x

我是Xamarin的新手,实际上我正在开发一个Android应用程序。我曾尝试在不同的Android手机上运行该应用程序,但fontSize要么太小,要么太大。通过编程,我如何缩放文本的大小,以便可以根据设备的屏幕进行调整?

首先,确保您使用的是
dp
中的大小,而不是
px
(或
中的
mm
等),因为它们会影响屏幕密度

如果您仍然有问题,请查看Android文档,尤其是使用配置限定符。可以找到一些例子

基本上,您需要为每个屏幕大小提供不同的资源文件。您应该有一个类似于
res/values/dimens.xml的文件,用于存储所有组件的大小。确保您的字体大小已在此声明和引用。然后,您可以为不同的屏幕大小创建一系列文件夹/文件

  • res/values/dimens.xml
  • res/values-sw320dp/dimens.xml
  • res/values-sw720dp/dimens.xml
  • res/values-sw1024dp/dimens.xml

其中每个文件夹定义了该文件将用于的smallestwidth屏幕。

我是否需要为每个屏幕大小重新设计布局+内容?如果它们引用了“值”文件夹中的字符串,我很抱歉,但这个答案完全错误。你混淆了密度(dpi-各种分辨率类别是什么)和物理尺寸,这是OP面临的问题。提供不同的“密度”res值不会有任何帮助。此外,使用“密度”存储箱的唯一原因是让图像在不同的DPI下清晰-这与字体/文本无关。(即使在这种情况下,也不需要提供所有不同的存储箱。Android将根据需要进行放大/缩小。通常2或3个不同存储箱中的图像就足够了,除了小图标。)