setMessage()和setView()之间的AlertDialog文本大小差异

时间:2012-09-12 00:55:16

标签: android alertdialog font-size

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

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

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

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

2 个答案:

答案 0 :(得分:1)

参考Typography

您可以将18sp的字体大小设置为Medium size(由setMessage()使用),并且对于用户偏好,sp本身将根据它

答案 1 :(得分:0)

执行此操作以获取默认字体大小:

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

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