android Dialog提示框。单选项dialog,多选项dialog
生活随笔
收集整理的這篇文章主要介紹了
android Dialog提示框。单选项dialog,多选项dialog
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
private void showNormalDialogOne() {/* @setIcon 設置對話框圖標* @setTitle 設置對話框標題* @setMessage 設置對話框消息提示* setXXX方法返回Dialog對象,因此可以鏈式設置屬性*/final AlertDialog.Builder normalDialog = new AlertDialog.Builder(this);normalDialog.setTitle("提示");normalDialog.setMessage("確定刪除所有!");normalDialog.setPositiveButton("確定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// delehistory();//dosomething}});normalDialog.setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});normalDialog.show();
}
?
單選項dialog
AlertDialog.Builder builder = new AlertDialog.Builder(SynthActivity.this, android.R.style.Theme_Holo_Light_Dialog); builder.setTitle("引擎空閑時切換"); final Map<String, String> map = new LinkedHashMap<>(4); map.put("離線女聲", OfflineResource.VOICE_FEMALE); map.put("離線男聲", OfflineResource.VOICE_MALE); map.put("離線度逍遙", OfflineResource.VOICE_DUXY); map.put("離線度丫丫", OfflineResource.VOICE_DUYY); final String[] keysTemp = new String[4]; final String[] keys = map.keySet().toArray(keysTemp); builder.setItems(keys, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {loadModel(map.get(keys[which]));Log.i("lgq","....."+map.get(keys[which]));} }); builder.show();?
2、多選項dialog
private String[] favor = {"美容 ", "汽車 ", "游戲 ", "社交 ", "體育 ", "閱讀 ","影視 ", "母嬰 ", "健康 ", "家居 ", "服飾 ", "其他 "}; private String hobby; private int befoid; //興趣愛好設置private void hobbySetting() {AlertDialog.Builder dialogm = new AlertDialog.Builder(this);dialogm.setMultiChoiceItems(favor, new boolean[]{false, false, false, false, false, false, false, false, false, false, false, false},new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {if (!TextUtils.isEmpty(hobby)&&hobby.split("\\ ").length > 2&&befoid!=which) { // ToastUtil.centralToast("最多只能選擇3項", mContext);dialog.dismiss();hobby = "";befoid = 99;} else {if (isChecked){hobby = hobby + favor[which];befoid = which;Log.v("lgq","興趣愛好。。。。。-====="+hobby);}else {hobby = hobby.replace(favor[which], "");befoid = 99;Log.v("lgq","興趣愛好。。。else。。==="+hobby);}}}});dialogm.setPositiveButton("確定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();if (hobby.equals("")) tvHobby.setText("未設置");else tvHobby.setText(hobby);hobby = "";}});dialogm.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});dialogm.show();}?
?
默認提示框
public class DialogUtils {//自定義View對話框public static Dialog show(Context context, View view) {AlertDialog.Builder builder = new AlertDialog.Builder(context).setView(view).setCancelable(true);Dialog dialog = builder.show();dialog.getWindow().getDecorView().setBackground(null);return dialog;}}調用
//軟件說明對話框 public void showDescription() {View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_description, null);//軟件說明Button btnDismiss = view.findViewById(R.id.btn_dismiss);mTxvModeChoose = view.findViewById(R.id.txv_mode_choose);final Dialog dialog = DialogUtils.show(mContext, view);btnDismiss.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//點擊右上角 × 關閉彈窗dialog.dismiss();}});mTxvModeChoose.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//點擊選擇模式mTxvModeChoose.setBackgroundResource(R.drawable.txv_stroke);mTxvModeFill.setBackground(null);mTxvDictionary.setBackground(null);mTxvDescription.setText(R.string.str_descrip_choose);}});}?
?點擊事件Dialog
public class TipDialog2 extends Dialog {@BindView(R.id.Cancel_tv)TextView mCancelTv;@BindView(R.id.confirm_tv)TextView mConfirmTv;@BindView(R.id.tv_content)TextView mTvContent;@BindView(R.id.tv_title)TextView mTvTitle;private CallBack mCallBack;public TipDialog2(@NonNull Context context) {super(context, R.style.CommonDialogStyle);setContentView(R.layout.dialog_tip2);ButterKnife.bind(this);}@OnClick({ R.id.Cancel_tv, R.id.confirm_tv })public void onClick(View view) {switch (view.getId()) {case R.id.Cancel_tv:dismiss();break;case R.id.confirm_tv:if (mCallBack != null) {mCallBack.confirm();}dismiss();break;}}public void setCallBack(CallBack callBack) {this.mCallBack = callBack;}public interface CallBack {void confirm();}public void setTitle(boolean isVisible,String title){mTvTitle.setVisibility(isVisible?View.VISIBLE:View.GONE);mTvTitle.setText(title);}public void setTvContent(String content) {mTvContent.setText(content);} }調用
?
TipDialog2 tipDialog2 = new TipDialog2(this); tipDialog2.setCallBack(new TipDialog2.CallBack() {@Overridepublic void confirm() {finish();} }); tipDialog2.show();總結
以上是生活随笔為你收集整理的android Dialog提示框。单选项dialog,多选项dialog的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nachos 5.0j(java版)学习
- 下一篇: Akka(9): 分布式运算:Remot