2012-09-12 50 views
0

使用setMessage()将文本作为CharSequence放置在AlertDialog框中会导致文本以默认系统大小显示。setMessage()和setView()之间的AlertDialog文本大小差异

但是,如果文本是一个TextView对象,那么它使用setView()添加并且生成的输出是一个小字体。

我知道我可以为TextView对象定义一个特定的字体大小(毕竟这是它的意义所在),但是我该如何/在哪里告诉项目使用setMessage所使用的相同字体大小设置( )?由于setMessage()的最终字体大小取决于用户在其设备上设置的系统设置,因此我希望能够满足视觉障碍用户的需求,而无需使用我的字体大小菜单应用程序。

或者,如果有人知道使用setMessage()推SpannableString到AlertDialog的一种方式,这将是一个合适的解决方案太...

回答

1

Typography

您可以只设置字体大小为18spMedium size(其被setMessage()使用),并且关于用户偏好,sp本身将根据它来缩放。

0

这样做是为了获得默认字体大小:

float size = new TextView(this).getTextSize(); 

然后将值设置为您所使用的TextView的对象。

相关问题