import Ġandroid . app . Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ed gar . movie . R ĊĊ Ċ class ĠCustom Dialog Ġ: ĠDialog , ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġtheme Res Id : ĠInt ) Ġ: Ġsuper ( context , Ġtheme Res Id ) ĊĊĠĠĠ Ġprivate Ġvar Ġm Tv Title : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Tv Message : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Tv Cancel : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Tv Confirm : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmessage : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcancel : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġconfirm : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcancel Listener : ĠI On Cancel Listener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġconfirm Listener : ĠI On Confirm Listener ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġheight Ġ= Ġ 0 ĊĊĠĠĠ Ġfun ĠsetTitle ( t : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġt ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġset Message ( t : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . message Ġ= Ġt ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Cancel ( cancel : ĠString , Ġlistener : ĠI On Cancel Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . cancel Ġ= Ġcancel ; ĊĠĠĠĠĠĠĠ Ġthis . cancel Listener Ġ= Ġlistener ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Confirm ( Ġconfirm : ĠString , Ġlistener : ĠI On Confirm Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . confirm Ġ= Ġconfirm ; ĊĠĠĠĠĠĠĠ Ġthis . confirm Listener Ġ= Ġlistener ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e (" Custom Dialog "," onCreate ") ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ); ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . v _ demo _ dialog _ custom ) ĊĊĠĠĠĠĠĠĠ Ġm Tv Title Ġ= ĠfindViewById < TextView >( R . id . tv _ dialog _ custom _ title ); ĊĠĠĠĠĠĠĠ Ġm Tv Message Ġ= ĠfindViewById < TextView >( R . id . tv _ dialog _ custom _ message ); ĊĠĠĠĠĠĠĠ Ġm Tv Cancel Ġ= ĠfindViewById < TextView >( R . id . tv _ dialog _ custom _ cancel ); ĊĠĠĠĠĠĠĠ Ġm Tv Confirm Ġ= ĠfindViewById < TextView >( R . id . tv _ dialog _ custom _ confirm ); ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( title )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Title ?. setText ( title ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( message )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Message ?. setText ( message ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( cancel )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Cancel ?. setText ( cancel ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( confirm )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Confirm ?. setText ( confirm ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Tv Cancel ?. setOnClickListener ( this ); ĊĠĠĠĠĠĠĠ Ġm Tv Confirm ?. setOnClickListener ( this ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow !!. set Flags ( WindowManager . LayoutParams . FLAG _ NOT _ FOCUS ABLE , ĠWindow Manager . LayoutParams . FLAG _ NOT _ FOCUS ABLE ) ĊĠĠĠĠĠĠĠ Ġwindow !!. clear Flags ( WindowManager . LayoutParams . FLAG _ NOT _ FOCUS ABLE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( height Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow !!. attributes . height Ġ= Ġ 3 2 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow !!. attributes . height Ġ= Ġheight ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwindow !!. attributes . width Ġ= Ġ 3 2 0 ĊĠĠĠĠĠĠĠ Ġwindow !!. set Gravity ( Gravity . CENTER ) ĊĠĠĠĠĠĠĠ Ġsuper . show () ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v . getId ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ dialog _ custom _ cancel Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcancel Listener ?. on Cancel ( this ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ dialog _ custom _ confirm Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Listener ?. on Confirm ( this ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠI On Cancel Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Cancel ( dialog : ĠCustom Dialog ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠI On Confirm Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Confirm ( dialog : ĠCustom Dialog ); ĊĠĠĠ Ġ} Ċ }