Xamarin Android - 从维度文件设置 TextSize

Xamarin Android - Setting TextSize from Dimension file

我有一个 Xamarin Android 项目,我在其中使用尺寸文件为不同的屏幕指定文本大小、填充、边距等 sizes/resolutions。

我注意到直接在布局中设置值和在代码中设置值之间存在明显差异。

例如,如果我将以下内容添加到 TextView 布局 XML

android:textSize="@dimen/nav_tile_text_size"

那么我希望结果与在代码中这样做是一样的

myTextView.SetTextSize(ComplexUnitType.Sp, _context.Resources.GetDimension(Resource.Dimension.nav_tile_text_size))

维度文件包含以下内容:

<dimen name="nav_tile_text_size">17sp</dimen>

但结果 UI 显示尺寸没有正确应用

我在这里错过了什么??

没错。您需要使用

myTextView.SetTextSize(Android.Util.ComplexUnitType.Sp, Resources.GetDimension(Resource.Dimension.nav_title_text_size)/Resources.DisplayMetrics.Density);

单位,否则乘以 phone 的密度。我亲自检查了这段代码,它有效