2014-01-29 49 views

回答

0

爲什麼不使用AlertDialog?您可以撥打setContentView()方法自定義對話框視圖

Here是一個示例。

0

您可以使用帶有對話框窗口的自定義佈局。

下面是一個例子。

public class Dialog 
{ 
    private static Dialog dlg = null; 

    public static void create(Context context, String title, String message, boolean cancelable) 
    { 
     if (dlg != null) 
     { 
      return; 
     } 

     dlg = new Dialog (context); 
     dlg.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     dlg.getWindow().setBackgroundDrawableResource(R.color.transparent); 

     dlg.setContentView(R.layout.help_dialog); 

     TextView titleHeader = (TextView)dlg.findViewById(R.id.popup_header_text); 
     titleHeader.setText(Html.fromHtml((String) title)); 

     TextView content = (TextView)dlg.findViewById(R.id.help_content); 
     content.setText(Html.fromHtml((String) message)); 

     Button okBtn = (Button)dlg.findViewById(R.id.help_btn_ok); 
     okBtn.setOnClickListener(new OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       dismissHelpDialog(); 
      } 
     }); 

     dlg.setCancelable(cancelable); 
     if (cancelable) 
     { 
      dlg.setCanceledOnTouchOutside(true); 
     } 
     dlg.setOnCancelListener(new OnCancelListener() 
     { 
      @Override 
      public void onCancel(DialogInterface dialog) 
      { 
       dismissHelpDialog(); 
      } 
     }); 
     dlg.setOnDismissListener(new OnDismissListener() 
     { 

      @Override 
      public void onDismiss(DialogInterface dialog) 
      { 
       dismissHelpDialog(); 

      } 
     }); 

     dlg.show(); 
    } 

    private static void dismissHelpDialog() 
    { 
     if (dlg != null) 
     { 
      dlg.dismiss(); 
      dlg = null; 
     } 
    } 

,只需使用後:

Dialog.create(this, "Help Window"), "Help window Text", true); 
相關問題