标签:android style blog class code java
将Activity显示成Dialog的形式:
Tip: If you want a custom dialog, you can instead display an 
Activity 
as a dialog instead of using the Dialog 
APIs. Simply create an activity and set its theme to Theme.Holo.Dialog 
in the <activity> 
manifest element:
<activityandroid:theme="@android:style/Theme.Holo.Dialog">
That‘s it. The activity now displays in a dialog window instead of fullscreen.
将dialog的按钮点击事件传递给Activity:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | packageleihu.dialogtoactivity;importandroid.annotation.SuppressLint;importandroid.app.DialogFragment;importandroid.os.Bundle;importandroid.support.v4.app.FragmentActivity;publicclassMainActivity extendsFragmentActivity  implementsNoticeDialogFragment.NoticeDialogListener{        @Override    protectedvoidonCreate(Bundle savedInstaceState) {        super.onCreate(savedInstaceState);        setContentView(R.layout.activity_main);        showNoticeDialog();    }    @SuppressLint("NewApi")    publicvoidshowNoticeDialog(){        DialogFragment dialog = newNoticeDialogFragment();        dialog.show(getFragmentManager(), "NoticeDialogFragment");            }        @Override    publicvoidonDialogPositiveClick(DialogFragment dialog) {        // TODO Auto-generated method stub        System.out.println( "Positive button is pressed");    }    @Override    publicvoidonDialogNegativeClick(DialogFragment dialog) {        // TODO Auto-generated method stub        System.out.println("Negative button is pressed");    }} | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | packageleihu.dialogtoactivity;importandroid.annotation.SuppressLint;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importandroid.app.DialogFragment;importandroid.content.DialogInterface;importandroid.os.Bundle;@SuppressLint("NewApi")publicclassNoticeDialogFragment extendsDialogFragment{        publicinterfaceNoticeDialogListener{        publicvoidonDialogPositiveClick(DialogFragment dialog);        @SuppressLint("NewApi")        publicvoidonDialogNegativeClick(DialogFragment dialog);    }        NoticeDialogListener mListener;    @SuppressLint("NewApi")    @Override    publicvoidonAttach(Activity activity) {    //Called when a fragment is first attached to its activity                                                     //<code><a href="http://i.cnblogs.com/reference/android/app/Fragment.html#onCreate(android.os.Bundle)">onCreate(Bundle)</a></code> will be called after this.        super.onAttach(activity);        try{            mListener = (NoticeDialogListener) activity;        } catch(Exception e) {            thrownewClassCastException(activity.toString()                    + " must implement NoticeDialogListener");        }    }    @SuppressLint("NewApi")    @Override    publicDialog onCreateDialog(Bundle savedInstanceState) {        AlertDialog.Builder builder = newAlertDialog.Builder(getActivity());        builder.setMessage("fire missiles")            .setPositiveButton("frie", newDialogInterface.OnClickListener() {                                @Override                publicvoidonClick(DialogInterface dialog, intwhich) {                    mListener.onDialogPositiveClick(NoticeDialogFragment.this);                }            })             .setNegativeButton("cancel", newDialogInterface.OnClickListener() {                                @Override                publicvoidonClick(DialogInterface dialog, intwhich) {                    mListener.onDialogNegativeClick(NoticeDialogFragment.this);                }            });        returnbuilder.create();    }                } | 
标签:android style blog class code java
原文地址:http://www.cnblogs.com/leihupqrst/p/3718964.html