在android中自定义对话框

时间:2013-12-05 05:20:14

标签: android eclipse

这是我在对话框中退出消息的代码。我想自定义它。即改变它的颜色,文字宽度,文字的字体大小等,背景等。有人可以告诉我该怎么做吗?

public void addListenerOnButton2()
{ 

    exit = (Button) findViewById(R.id.button2);
    exit.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View arg0) 
        {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
        MainActivity.this);
 alertDialogBuilder.setTitle("EXIT?");
 alertDialogBuilder
 .setMessage("Do you want to quit?")
 .setCancelable(false)
 .setPositiveButton("YES",new DialogInterface.OnClickListener()
 {
     public void onClick(DialogInterface dialog,int id) 
     {     
      MainActivity.this.finish();
     }
   })
   .setNegativeButton("NO",new DialogInterface.OnClickListener() 
   {
        public void onClick(DialogInterface dialog,int id) 
        {
         dialog.cancel();
        }
    });
 AlertDialog alertDialog = alertDialogBuilder.create();
 alertDialog.show();
        }
    });
}

2 个答案:

答案 0 :(得分:2)

将对话框布局创建为xml文件,从上下文中获取layoutinflater,当您尝试显示自定义对话框时,从xml中扩展布局并将其设置为alertdialog对象。

答案 1 :(得分:0)

    private void showDialog(String title, String message){
        dialog = new AlertDialog.Builder(context).create();
        dialog.setCancelable(false);
        LayoutInflater inflater = LayoutInflater.from(context);        
        View v = inflater.inflate(R.layout.user_dialog, null);
        TextView tvDialogTitle = (TextView) v.findViewById(R.id.tv_user_dialog_header);
        tvDialogTitle.setText(title);   
        dialog.setCustomTitle(v);

    // Setting Dialog Message
    dialog.setMessage(message);

    dialog.setButton("Yes", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();

        }
    });

    dialog.show();
}

请参考上面的代码进行自定义对话框。在这里,我设置了自定义标题,但是通过此参考,您可以根据自定义布局自定义自己的对话框。

希望这对您的问题有用。