一個(gè)自定義dialog

主要是用于dialog的內(nèi)容變化但是部分內(nèi)容不變復(fù)用方便寫的

publicclassMainDialogextendsDialogimplementsView.OnClickListener{

privateViewroot;

privateViewGroupcontainer;

privateButtonbtnObtain;

privateIWheelPickerpicker;

privateStringdata;

publicMainDialog(Contextcontext) {

super(context);

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setBackgroundDrawable(newColorDrawable(Color.TRANSPARENT));

setCanceledOnTouchOutside(true);

setOnDismissListener(newOnDismissListener() {

@Override

publicvoidonDismiss(DialogInterfacedialog) {

container.removeAllViews();

}

});

//我們?yōu)閐ialog設(shè)置一個(gè)布局文件

root=getLayoutInflater().inflate(R.layout.ac_main_dialog,null);

//跟布局里面的動(dòng)態(tài)添加布局的容器

container=(ViewGroup) root.findViewById(R.id.main_dialog_container);

//公用的確認(rèn)按鈕

btnObtain=(Button) root.findViewById(R.id.btn_obtain);

btnObtain.setOnClickListener(this);

}

//復(fù)寫他的setcontentview()方法,將我們自定義的布局添加到我們的跟容器中,這樣可以在代碼中靈活的設(shè)置了,

@Override

publicvoidsetContentView(Viewview) {

if(viewinstanceofIWheelPicker) {

picker=(IWheelPicker) view;

picker.setOnWheelChangeListener(newAbstractWheelPicker.SimpleWheelChangeListener() {

@Override

publicvoidonWheelScrollStateChanged(intstate) {

if(state!=AbstractWheelPicker.SCROLL_STATE_IDLE) {

btnObtain.setEnabled(false);

}else{

btnObtain.setEnabled(true);

}

}

@Override

publicvoidonWheelSelected(intindex,Stringdata) {

MainDialog.this.data=data;

}

});

}

container.addView(view);

super.setContentView(root);

}

@Override

publicvoidonClick(Viewv) {

switch(v.getId()) {

caseR.id.btn_obtain:

Toast.makeText(getContext(), data,Toast.LENGTH_SHORT).show();

break;

}

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容