0

使用 setMessage() 将文本作为 CharSequence 放入 AlertDialog 框会导致文本以默认系统大小显示。

但是,如果文本是 TextView 对象,则使用 setView() 添加它,结果输出是一个小字体。

我知道我可以为 TextView 对象定义特定的字体大小(毕竟这就是重点),但是我如何/在哪里告诉项目使用与 setMessage() 相同的字体大小设置?由于 setMessage() 的结果字体大小取决于用户在其设备上设置的系统设置,我希望能够满足视障用户的需求,而无需求助于我的字体大小菜单应用程序。

或者,如果有人知道使用 setMessage() 将 SpannableString 推送到 AlertDialog 的方法,那也是一个合适的解决方案......

4

2 回答 2

1

请参阅排版

您可以将字体大小设置为18spfor Medium size(由 使用setMessage()),并且关于用户偏好,sp它本身将根据它进行缩放。

于 2012-09-12T01:30:53.983 回答
0

这样做以获得默认字体大小:

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

然后将该值设置为您正在使用的 TextView 对象。

于 2012-09-12T06:57:09.803 回答