Android第四十一天(2)

一、對話框的分類android

        <1>AlertDialog    警告對話框(提示對話框)app

                (1)父類:android.app.Dialogide

                (2)建立AlertDialog對話框的步驟佈局

                        a.建立AlertDialog.Builder對象,該對象能建立AlertDialog;ui

AlertDialog alertDialog = null;
AlertDialog.Builder builder = new Builder(MainActivity.this);

                        b.調用Builder對象的方法設置圖標、標題、內容、按鈕等;this

builder.setTitle("警告對話框")// 設置標題
.setIcon(R.drawable.icon18)// 設置標題圖標
.setMessage("肯定要刪除嗎?")// 設置標題文本內容
.setPositiveButton("肯定", new OnClickListener() {
     @Override
public void onClick(DialogInterface dialog, int which) {
// 點擊肯定按鈕要作的事
Toast.makeText(MainActivity.this, "肯定",Toast.LENGTH_SHORT).show();})
     .setNegativeButton("取消", null)
     .setNeutralButton("其餘", null);

                        c.調用Builder對象的create()方法建立AlertDialog對話框.setCanceledOnTouchOutside(false):點擊對話框之外對話框不消失code

// 經過builder對象建立對話框對象
alertDialog = builder.create();

                        d.調用AlertDialog的show()方法來顯示對話框xml

// 顯示對話框
alertDialog.show();

        <2>ProgressDialog    進度對話框對象

                (1)父類:android.app.AlertDialogutf-8

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

                        a.實例化ProgressDialog,建立出ProgressDialog對象

                        b.調用該對象的方法設置圖標、標題、內容、按鈕等

                        c.調用 ProgressDialog 對象的show()方法顯示出 ProgressDialog 對話框

        <3>DatePickerDialog    日期選擇對話框

                (1)父類:android.app.AlertDialog

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

                        a.實例化DatePickerDialog,建立出 DatePickerDialog對象

DatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
//選擇日期以後調用的方法 注意:參數monthOfYear是0~11
Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
}
}, year, month, day);

                        b.調用DatePickerDialog對象的show()方法顯示出DatePickerDialog對話框

dialog.show();

                        c.綁定監聽器:OnDateSetListener()

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
//選擇日期以後調用的方法 注意:參數monthOfYear是0~11
    Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
}

        <4>TimerPickerDialog    時間選擇對話框

        <5>自定義對話框(登陸對話框、關於對話框)

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

                        a.建立AlertDialog.Builder對象

AlertDialog.Builder builder = new Builder(this);

                        b.設置對話框的標題、按鈕等(既能夠使用系統自帶的,也能夠自定義)

                        c.自定義佈局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="刪除"
android:textSize="30sp"
android:gravity="center"
android:padding="10dp"/>

<TextureView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#ccc"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="肯定要刪除嗎?"
android:gravity="center"
android:padding="15dp"
android:textSize="20sp"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">

<Button
android:id="@+id/btnSure"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="肯定"
/>
<Button
android:id="@+id/btnClean"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="取消"
/>
</LinearLayout>
</LinearLayout>

                        d.使用LayoutInflater 的 inflater()方法填充自定義的佈局文件,返回view對象。用該對象的findViewById()方法加載自定義佈局上全部控件;

// 獲取佈局對象的兩種方法
View view2 = LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
// view2=getLayoutInflater().inflate(R.layout.dialog_layout, null);

                        e.調用Builder對象的setView()方法加載view對象;

builder.setView(view2);// 設置對話框要顯示的佈局
Button btnSure = (Button) view2.findViewById(R.id.btnSure);

                        f.調用Builder對象的create()方法建立AlertDialog對話框;

customDialog = builder.create();

                        g.調用AlertDialog的show()方法來顯示對話框

customDialog.show();

        <6>列表對話框

                (1)普通列表對話框

                (2)單選列表對話框

                (3)多選列表對話框

                (4)帶圖標的列表對話框

相關文章
相關標籤/搜索