我想在我的应用程序中指定我自己的文本大小,但我在执行此操作时遇到了问题。
当我在设备设置中更改字体大小时,我的应用程序TextView
的字体大小也会发生变化。
发布于 2012-11-07 15:22:23
实际上,设置字体大小只影响sp
中的大小。所以你需要做的就是-在dp
中定义textSize
而不是sp
,这样设置就不会改变你应用程序中的文本大小。
以下是文档的链接:Dimensions
然而,请注意,预期的行为是所有应用程序中的字体都尊重用户的首选项。用户可能想要调整字体大小的原因有很多,其中一些甚至可能是医学视障用户。在文本中使用dp
而不是sp
可能会导致不情愿地歧视应用程序的某些用户。
即:
android:textSize="32dp"
发布于 2013-08-24 20:38:48
要做到这一点,最简单的方法就是使用如下代码:
android:textSize="32sp"
如果您想了解有关textSize
属性的更多信息,可以查看Android developer documentation。
发布于 2012-11-07 15:27:58
像使用string
资源(DOCS)一样使用dimension
类型的资源。
在dimens.xml
文件中,声明尺寸变量:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="textview_height">25dp</dimen>
<dimen name="textview_width">150dp</dimen>
<dimen name="ball_radius">30dp</dimen>
<dimen name="font_size">16sp</dimen>
</resources>
然后,您可以像这样使用这些值:
<TextView
android:layout_height="@dimen/textview_height"
android:layout_width="@dimen/textview_width"
android:textSize="@dimen/font_size"/>
您可以为不同类型的屏幕声明不同的dimens.xml
文件。这样做可以保证你的应用程序在不同的设备上都能保持理想的外观。
如果不指定android:textSize
,系统将使用默认值。
https://stackoverflow.com/questions/13264794
复制相似问题