您应该从布局中设置自定义视图,而不是设置警报对话框的文本。在你这样做之前,修改你的视图的字体。
TextView mycontent = (TextView) findViewById(R.id.yourid);
mycontent.setTypeface(Typeface.createFromAsset(getAssets(), "font.ttf")
并设置您的警报对话框的视图,.setView(mycontent)
而不是调用setMessage()
虽然据我所知这不会改变您的标题。
更新
我看到你无法理解我在说什么,所以这里有一个完整的例子
TextView content = new TextView(this);
content.setText("on another font");
content.setTypeface(Typeface.SANS_SERIF);
//Use the first example, if your using a xml generated view
AlertDialog.Builder myalert = new AlertDialog.Builder(this);
myalert.setTitle("Your title");
myalert.setView(content);
myalert.setNeutralButton("Close dialog", null);
myalert.setCancelable(true);
myalert.show();
这是使用我们刚刚创建的 TextView,它不会有边距等。如果您使用一种易于创建的布局文件形式,则可以自定义所有这些设置,尽管您可以在此示例中以代码形式执行此操作。
当然,用您想要的字体替换字体。xml 中的示例 TextView 可能是:
<TextView
android:id="@+id/yourid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:text="your content" />