更改AlertDialog消息的字体大小

时间:2013-03-12 13:07:04

标签: android fonts android-ui android-alertdialog

我正在尝试更改AlertDialog消息的字体大小。

Button submit = (Button) findViewById(R.id.submitButton);
submit.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(
                Application1GoodExample.this);
        builder.setMessage("Your form has been successfully submitted");
        TextView textView = (TextView) findViewById(android.R.id.message);
        textView.setTextSize(40);
        builder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();             
            }
        });

        builder.show();
    }
});

我收到一条错误消息,指出类型findViewById()未定义“AlertDialog.Builder”。

4 个答案:

答案 0 :(得分:23)

使用此:

AlertDialog alert = builder.create();
alert.show();

TextView msgTxt = (TextView) alert.findViewById(android.R.id.message);   
msgTxt.setTextSize(16.0);

在你的情况下:

Button submit = (Button) findViewById(R.id.submitButton);

submit.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(Application1GoodExample.this);

        builder.setMessage("Your form has been successfully submitted");
        builder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();             
            }
        });

        // this will solve your error
        AlertDialog alert = builder.create();
        alert.show();
        alert.getWindow().getAttributes();

        TextView textView = (TextView) alert.findViewById(android.R.id.message);
        textView.setTextSize(40);
        Button btn1 = alert.getButton(DialogInterface.BUTTON_NEGATIVE);
        btn1.setTextSize(16);
    }
});

如果这对您没有帮助,请在您的问题中发布LogCat错误。

答案 1 :(得分:2)

试试这个

 AlertDialog dialog = new AlertDialog.Builder(this).setMessage("Hello world").show();
 TextView textView = (TextView) dialog.findViewById(android.R.id.message);
 textView.setTextSize(40);

答案 2 :(得分:1)

方法findViewById属于View类型。

AlertDialog.Builder builder = new AlertDialog.Builder(Application1GoodExample.this);
builder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
    dialog.cancel();           
    } 
});
builder.setMessage("Your form has been successfully submitted");
AlertDialog theDialog=builder.create();
TextView textView = (TextView) theDialog.findViewById(android.R.id.message);
textView.setTextSize(40);

theDialog.show();

答案 3 :(得分:0)

由于您没有使用CustomDialog,我建议您按照以下方式添加TextView,

TextView textView = (TextView) findViewById(android.R.id.message); // remove builder object