Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android setMessage()和setView()之间的AlertDialog文本大小差异_Android_Android Alertdialog_Font Size - Fatal编程技术网

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

Android setMessage()和setView()之间的AlertDialog文本大小差异,android,android-alertdialog,font-size,Android,Android Alertdialog,Font Size,使用setMessage()将文本作为字符序列放入AlertDialog box会导致文本以默认系统大小显示 但是,如果文本是TextView对象,则使用setView()添加文本,结果输出是一种小字体 我知道我可以为TextView对象定义特定的字体大小(这毕竟是它的重点),但是我如何/在哪里告诉项目使用与setMessage()相同的字体大小设置?由于setMessage()产生的字体大小取决于用户在其设备上设置的系统设置,因此我希望能够满足视力受损用户的需要,而无需求助于我的应用程序中的字

使用setMessage()将文本作为字符序列放入AlertDialog box会导致文本以默认系统大小显示

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

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

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

请参阅


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

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

float size = new TextView(this).getTextSize();
然后将该值设置为正在使用的TextView对象