1. 程式人生 > >Android常見的彈窗及使用方法

Android常見的彈窗及使用方法

轉載自:https://blog.csdn.net/qq_35698774/article/details/79779238

 setTitle :為對話方塊設定標題
 setIcon :為對話方塊設定圖示
 setMessage:為對話方塊設定內容
 setView : 給對話方塊設定自定義樣式
 setItems :設定對話方塊要顯示的一個list,一般用於顯示幾個命令時
 setMultiChoiceItems :用來設定對話方塊顯示一系列的複選框
 setSingleChoiceItems :用來設定對話方塊顯示一系列的單選框
 setNeutralButton    :普通按鈕
 setPositiveButton   :給對話方塊新增"Yes"按鈕
 setNegativeButton :對話方塊新增"No"按鈕
 create : 建立對話方塊
 show :顯示對話方塊
  1. 自定義View
//(此處也可選用setAdapter的方式)
//mData自己進行填充資料的內容初始化
List<String> mData = new ArrayList<>();
//主要程式碼一
AlertDialog.Builder dialog = new ALertDialog.Builder();
//這部分與配置recyclerView 的Adapter類似
View dialogView = View.inflate(this,R.layout.dialog_layout,null);
CustomAdapter viewAdapter =
new CustomAdapter(this,mData); dialogView.setAdapter(viewAdapter); viewAdapter.setOnItemClickListener(this); //主要程式碼二 AlertDialog showDialog = dialog.setView(dialogView).create(); /** *此處注意: *①每次在顯示dialog的時候,都需要進行建立,不然,會報You must call removeView() on the child's parent first.的錯。 */
  1. setAdapter的用法
AlertDialog alertDialog6 = new AlertDialog.Builder(this)
        .setTitle("title")
        .setIcon(R.mipmap.ic_launcher)
        .setAdapter(new ArrayAdapter<String>(AlertDialogActivity.this, R.layout.item, R.id.tv, items6), new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(AlertDialogActivity.this, "點的是:" + items6[i], Toast.LENGTH_SHORT).show();
            }
        })
        .create();
alertDialog6.show();
  1. 設定簡單內容、單選、多選列表
     final String[] items4 = new String[]{"a ", "b ", "c ", "d "};//建立item
     AlertDialog alertDialog4 = new AlertDialog.Builder(this)
       .setTitle("選擇")
       .setIcon(R.mipmap.ic_launcher)
       //只設置內容
       .setMessage("content")
       //設定多選列表
         .setMultiChoiceItems(items5, booleans, new DialogInterface.OnMultiChoiceClickListener() {//建立多選框
           @Override
           public void onClick(DialogInterface dialogInterface, int i, boolean b) {
               booleans[i] = b;
           }
       })
       //單列表設定
       .setItems(items3, new DialogInterface.OnClickListener() {//新增列表
       //單選列表設定
       .setSingleChoiceItems(items4, 0, new DialogInterface.OnClickListener() {//新增單選框
           @Override
           public void onClick(DialogInterface dialogInterface, int i) {
               index = i;
           }
       })
       .setPositiveButton("確定", new DialogInterface.OnClickListener() {//新增"Yes"按鈕
           @Override
           public void onClick(DialogInterface dialogInterface, int i) {
               Toast.makeText(AlertDialogActivity.this, "這是確定按鈕" + "點的是:" + items4[index], Toast.LENGTH_SHORT).show();
           }
       })

       .setNegativeButton("取消", new DialogInterface.OnClickListener() {//新增取消
           @Override
           public void onClick(DialogInterface dialogInterface, int i) {
               Toast.makeText(AlertDialogActivity.this, "這是取消按鈕", Toast.LENGTH_SHORT).show();
           }
       })
       .create();
       alertDialog4.show();