1, Dialog layout
<?XML version= "1.0" encoding= "Utf-8"?><LinearLayoutxmlns:android= "Http://schemas.android.com/apk/res/android"Android:layout_width= "Match_parent"Android:layout_height= "Wrap_content"Android:background= "@drawable/dialog_bg"android:orientation= "vertical" > <TextViewAndroid:id= "@+id/title"//titleAndroid:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"android:layout_gravity= "Center"Android:paddingtop= "14DP"Android:textcolor= "@color/login_hint"android:textsize= "@dimen/text_size_18" /> <LinearLayoutAndroid:layout_width= "Match_parent"Android:layout_height= "Wrap_content"Android:layout_marginbottom= "14DP"Android:layout_marginleft= "20DP"Android:layout_marginright= "20DP"Android:layout_margintop= "30DP" > <TextViewAndroid:id= "@+id/confirm"//ConfirmationAndroid:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"Android:layout_marginright= "10DP"Android:layout_weight= "1"Android:background= "@drawable/btn_confirm_selector"android:gravity= "Center"Android:textcolor= "@color/white"android:textsize= "@dimen/text_size_16" /> <TextViewAndroid:id= "@+id/cancel"//CancelAndroid:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"Android:layout_marginleft= "10DP"Android:layout_weight= "1"Android:background= "@drawable/btn_cancel_selector"android:gravity= "Center"Android:textcolor= "@color/login_hint"android:textsize= "@dimen/text_size_16" /> </LinearLayout></LinearLayout>
2, define your own dialog class
Public classConfirmdialogextendsDialog {Privatecontext Context; PrivateString title; PrivateString Confirmbuttontext; PrivateString Cacelbuttontext; PrivateClicklistenerinterface Clicklistenerinterface; Public InterfaceClicklistenerinterface { Public voiddoconfirm (); Public voidDocancel (); } PublicConfirmdialog (Context context, string title, String Confirmbuttontext, String cacelbuttontext) {Super(context, r.style.mydialog); Defines a style that is omitted from the time taken This. Context =context; This. title =title; This. Confirmbuttontext =Confirmbuttontext; This. Cacelbuttontext =Cacelbuttontext; } @Overrideprotected voidonCreate (Bundle savedinstancestate) {//TODO auto-generated Method Stub Super. OnCreate (savedinstancestate); Init (); } Public voidinit () {Layoutinflater inflater=Layoutinflater.from (context); View View= Inflater.inflate (R.layout.confirm_dialog,NULL); Setcontentview (view); TextView Tvtitle=(TextView) View.findviewbyid (r.id.title); TextView tvconfirm=(TextView) View.findviewbyid (r.id.confirm); TextView Tvcancel=(TextView) View.findviewbyid (r.id.cancel); Tvtitle.settext (title); Tvconfirm.settext (Confirmbuttontext); Tvcancel.settext (Cacelbuttontext); Tvconfirm.setonclicklistener (NewClicklistener ()); Tvcancel.setonclicklistener (NewClicklistener ()); Window Dialogwindow=GetWindow (); Windowmanager.layoutparams LP=dialogwindow.getattributes (); Displaymetrics D= Context.getresources (). Getdisplaymetrics ();//get screen width, high-useLp.width = (int) (D.widthpixels * 0.8);//height set to 0.6 of the screendialogwindow.setattributes (LP); } Public voidSetclicklistener (Clicklistenerinterface clicklistenerinterface) { This. Clicklistenerinterface =Clicklistenerinterface; } Private classClicklistenerImplementsView.onclicklistener {@Override Public voidOnClick (View v) {//TODO auto-generated Method Stub intID =V.getid (); Switch(ID) { Caser.id.confirm:clicklistenerinterface.doconfirm (); Break; CaseR.id.cancel:clicklistenerinterface.docancel (); Break; } } };}
3, using
Public Static voidExit (Finalcontext Context) { FinalConfirmdialog Confirmdialog =NewConfirmdialog (Context, "Are you sure you want to exit?", "Exit", "Cancel"); Confirmdialog.show (); Confirmdialog.setclicklistener (NewConfirmdialog.clicklistenerinterface () {@Override Public voiddoconfirm () {//TODO auto-generated Method StubConfirmdialog.dismiss (); Close//touserhome (context);Appmanager.getappmanager (). AppExit (context); Exit} @Override Public voidDocancel () {//TODO auto-generated Method StubConfirmdialog.dismiss (); } }); }
Dialog Custom Use 3 (callback click event)