我在这里显示AlertDialog
:
public void showCenteredInfoDialog(TextView _title, TextView _message) {
_title.setGravity(Gravity.CENTER);
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton("OK", null);
builder.setCustomTitle(_title);
builder.setMessage(_message.getText());
AlertDialog dialog= builder.show();
TextView messageView = (TextView) dialog.findViewById(android.R.id.message);
messageView.setGravity(Gravity.CENTER);
}
我希望字体为monospace
。
我是否需要修改xml
文件,或者只有Java可以处理这个?(如果Java CAN处理它,它可能需要API 21,是吗?)
我想知道是否可以通过某种方式添加messageView.setFontFeatureSettings("...");
或messageView.setTypeface(...)
来引用monospace
。我找不到setFontFeatureSettings
的字符串参数的语法。
答案 0 :(得分:4)
这应该适用于您的问题。将它添加到TextView部分:
TextView messageView = (TextView) dialog.findViewById(android.R.id.message);
messageView.setTypeface(Typeface.MONOSPACE);
messageView.setGravity(Gravity.CENTER);
也可以更改XML中的字体,但我认为这更加舒适。
希望这会对你有所帮助! :)
答案 1 :(得分:2)
这里有一个很好的看看@rpfc为我做的(并且它不需要API 21):
使用AlertDialog
字体TextView
_title和_message显示MONOSPACE
的方法:
public void showCenteredInfoDialog(TextView _title, TextView _message) {
_title.setGravity(Gravity.CENTER);
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setPositiveButton("OK", null)
.setCustomTitle(_title)
.setMessage(_message.getText());
AlertDialog dialog= builder.show();
TextView messageView = (TextView) dialog.findViewById(android.R.id.message);
messageView.setTypeface(Typeface.MONOSPACE);
messageView.setGravity(Gravity.CENTER);
}