Android 使TextView的大小在设备和密度上相等
我一直在研究这个问题,但找不到解决办法。我有一个自定义的Android 使TextView的大小在设备和密度上相等,android,textview,Android,Textview,我一直在研究这个问题,但找不到解决办法。我有一个自定义的TextView,它进入一个ArrayAdapter,文本的大小是18sp。我已经在两个模拟器上进行了测试:7“mdpi和4.7”xhdpi,差异非常明显。它基本上破坏了我的布局。我正在开发版本4+ 较小的一个对于mdpi显示太小,而第一个太大。如何使这两个设备之间的文本显示相等(或差异非常小)?字体设置设置为正常。为特定密度创建不同的值目录,并在dimen.xml中设置值 例如: 创建值mdpi和值xhdpi,每个目录都将包含dimen
TextView
,它进入一个ArrayAdapter
,文本的大小是18sp
。我已经在两个模拟器上进行了测试:7“mdpi和4.7”xhdpi,差异非常明显。它基本上破坏了我的布局。我正在开发版本4+
较小的一个对于mdpi显示太小,而第一个太大。如何使这两个设备之间的文本显示相等(或差异非常小)?字体设置设置为正常。为特定密度创建不同的
值
目录,并在dimen.xml中设置值
例如:
创建
值mdpi
和值xhdpi
,每个目录都将包含dimen.xml
,在其中指定选择适当密度时要使用的大小。您可以使用res/values/dimens.xml
这样定义文本大小:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="text_size">18sp</dimen>
</resources>
res/values large/dimens.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="text_size">24sp</dimen>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="text_size">14sp</dimen>
</resources>
并在布局中应用您的样式:
<TextView android:id="@android:id/title"
android:textSize="@dimen/text_size"/>
<TextView android:id="@android:id/title"
style="@style/my_text"/>
您尝试过18dp而不是使用18sp吗?@epsilondelta结果是一样的。阅读更多内容后,应该提到,这些都是不推荐使用的,而推荐使用18dp。
<TextView android:id="@android:id/title"
style="@style/my_text"/>