Dialog對話方塊

yesye發表於2021-09-09

1、對話方塊的分類

        AlertDialog    警告對話方塊(提示對話方塊)

                (1)父類:android.app.Dialog

                (2)建立AlertDialog對話方塊的步驟

                        a.建立AlertDialog.Builder物件,該物件能建立AlertDialog;

1.  AlertDialog alertDialog = null;

2.  AlertDialog.Builder builder = new Builder(MainActivity.this);

                        b.呼叫Builder物件的方法設定圖示、標題、內容、按鈕等;

1.  builder.setTitle("警告對話方塊")// 設定標題

2.         .setIcon(R.drawable.icon18)// 設定標題圖示

3.         .setMessage("確定要刪除嗎?")// 設定標題文字內容

4.         .setPositiveButton("確定", new OnClickListener() {

5.         @Override

6.         public void onClick(DialogInterface dialog, int which) {

7.               // 點選確定按鈕要做的事

8.               Toast.makeText(MainActivity.this, "確定",Toast.LENGTH_SHORT).show();})

9.        .setNegativeButton("取消", null)

10.       .setNeutralButton("其他", null);

                        c.呼叫Builder物件的create()方法建立AlertDialog對話方塊.setCanceledOnTouchOutside(false):點選對話方塊以外對話方塊不消失

1.  // 透過builder物件建立對話方塊物件

2.  alertDialog = builder.create();

                        d.呼叫AlertDialog的show()方法來顯示對話方塊

1.  // 顯示對話方塊

2.  alertDialog.show();

        ProgressDialog    進度對話方塊

                (1)父類:android.app.AlertDialog

                (2)建立ProgressDialog對話方塊的步驟:

                        a.例項化ProgressDialog,建立出ProgressDialog物件

                        b.呼叫該物件的方法設定圖示、標題、內容、按鈕等

                        c.呼叫 ProgressDialog 物件的show()方法顯示出 ProgressDialog 對話方塊

        DatePickerDialog    日期選擇對話方塊

                (1)父類:android.app.AlertDialog

                (2)建立DatePickerDialog對話方塊的步驟:

                        a.例項化DatePickerDialog,建立出 DatePickerDialog物件

1.  DatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {

2.                                              @Override

3.                                    public void onDateSet(DatePicker view, int year,

4.                                                 int monthOfYear, int dayOfMonth) {

5.                                           //選擇日期之後呼叫的方法      注意:引數monthOfYear是0~11

6.                                           Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();

7.                                    }

8.                             }, year, month, day);

                        b.呼叫DatePickerDialog物件的show()方法顯示出DatePickerDialog對話方塊

1.  dialog.show();

                        c.繫結監聽器:OnDateSetListener()

1.  Calendar calendar = Calendar.getInstance();

2.  int year = calendar.get(Calendar.YEAR);

3.  int month = calendar.get(Calendar.MONTH);

4.  @Override

5.  public void onDateSet(DatePicker view, int year,

6.  int monthOfYear, int dayOfMonth) {

7.  //選擇日期之後呼叫的方法      注意:引數monthOfYear是0~11                            

8.      Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();

9.  }

        TimerPickerDialog    時間選擇對話方塊

        自定義對話方塊(登入對話方塊、關於對話方塊)

                (1)AlertDialog——自定義對話方塊的建立步驟:

                        a.建立AlertDialog.Builder物件

1.  AlertDialog.Builder builder = new Builder(this);

                        b.設定對話方塊的標題、按鈕等(既可以使用系統自帶的,也可以自定義)

                        c.自定義佈局檔案

1. 

2. 

3.      android:layout_width="match_parent"

4.      android:layout_height="match_parent"

5.      android:orientation="vertical" >

6.      

7.      

8.          android:layout_width="match_parent"

9.          android:layout_height="wrap_content"

10.         android:text="刪除"

11.         android:textSize="30sp"

12.         android:gravity="center"

13.         android:padding="10dp"/>

14.     

15.     

16.         android:layout_width="match_parent"

17.         android:layout_height="1dp"

18.         android:background="#ccc"/>

19.  

20.     

21.         android:layout_width="match_parent"

22.         android:layout_height="wrap_content"

23.         android:text="確定要刪除嗎?"

24.         android:gravity="center"

25.         android:padding="15dp"

26.         android:textSize="20sp"/>

27.     

28.     

29.         android:layout_width="match_parent"

30.         android:layout_height="wrap_content"

31.         android:orientation="horizontal"

32.         android:gravity="center">

33.         

34.     

49.

                        d.使用LayoutInflater 的 inflater()方法填充自定義的佈局檔案,返回view物件。用該物件的findViewById()方法載入自定義佈局上所有控制元件;

1.  // 獲取佈局物件的兩種方法

2.  View view2 = LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);

3.  // view2=getLayoutInflater().inflate(R.layout.dialog_layout, null);

                        e.呼叫Builder物件的setView()方法載入view物件;

1.  builder.setView(view2);// 設定對話方塊要顯示的佈局

2.  Button btnSure = (Button) view2.findViewById(R.id.btnSure);

                        f.呼叫Builder物件的create()方法建立AlertDialog對話方塊;

1.  customDialog = builder.create();

                        g.呼叫AlertDialog的show()方法來顯示對話方塊

1.  customDialog.show();

        列表對話方塊

                (1)普通列表對話方塊

                (2)單選列表對話方塊

                (3)多選列表對話方塊

                (4)帶圖示的列表對話方塊

原文連結:http://www.apkbus.com/blog-815579-61220.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2041/viewspace-2814856/,如需轉載,請註明出處,否則將追究法律責任。

相關文章