各類經常使用的基本對話框的基本使用

 AlertDialog對話框的基本使用
//功能:單擊一個按鈕控件彈出一個對話框
//該對話框使用很平凡 -- 比較靈活想在哪裏用就在哪裏建立
一、在res/layout里布局一個按鈕
代碼:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/alertdialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onclickButton"
        android:text="alertdialog對話框" />
</LinearLayout>
--------------------------
二、在MainActivity 類裏
代碼:
AlertDialog.Builder builder = new AlertDialog.Builder(this);//建立一個對話框
   builder.setTitle("提示");//設置對話框的標題
   builder.setIcon(R.drawable.ic_launcher);//設置對話框標題旁邊的圖片
   builder.setMessage("肯定退出?");//設置對話框的內容
   //setNegativeButton方法 -- 設置AlertDialog對話框的取消按鈕
   //第一個參數 -- AlertDialog對話框取消按鈕要設置的文字
   //第二個參數 -- 點擊該取消按鈕的事件監聽 -- 什麼也不作 -- 能夠設置爲null
   builder.setNegativeButton("取消", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
    }
   });
   //setPositiveButton方法 -- 設置AlertDialog對話框的肯定按鈕
   //第一個參數 -- AlertDialog對話框肯定按鈕要設置的文字
   //第二個參數 -- 點擊該肯定按鈕的事件監聽 -- 什麼也不作 -- 能夠設置爲null
   builder.setPositiveButton("肯定", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     Toast.makeText(MainActivity.this, "肯定", Toast.LENGTH_SHORT).show();
    }
   });
            //setNeutralButton方法 -- 設置AlertDialog對話框的中立按鈕
   //第一個參數 -- AlertDialog對話框中立按鈕要設置的文字
   //第二個參數 -- 點擊該中立按鈕的事件監聽 -- 什麼也不作 -- 能夠設置爲null
   builder.setNeutralButton("中立", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     Toast.makeText(MainActivity.this, "中立", Toast.LENGTH_SHORT).show();
    }
   });
   //AlertDialog對話框的顯示 
   builder.show();
=========================================================

 

ProgressDialog對話框的建立和簡單使用java

代碼android

ProgressDialog progressdialog = new ProgressDialog(this);//建立一個ProgressDialog對話框
   progressdialog.setTitle("提示");//設置ProgressDialog對話框的標題
   progressdialog.setIcon(R.drawable.ic_launcher);//設置ProgressDialog對話框標題旁邊的圖片
   progressdialog.setMessage("progressdialog...");//設置ProgressDialog對話框的內容
   progressdialog.show();//顯示ProgressDialog對話框
   progressdialog.dismiss();//隱藏ProgressDialog對話框
   ide

========================================================佈局

 


DatePickerDialog(年,月,日)時間對話框的建立和基本使用
Calendar calendar = Calendar.getInstance();//獲取當前時間
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
//建立一個時間對話框
//第一個參數 -- 上下文
//第二個參數 -- 時間對話框選擇時間的監聽
//第三個參數 -- 當前時間的 -- 年
//第四個參數 -- 當前時間的 -- 月
//第五個參數 -- 當前時間的 -- 日
DatePickerDialog datepincker = new DatePickerDialog(this, new OnDateSetListener() {
    
    //第一個參數 -- DatePickerDialog時間對話框的視圖
    //第二個參數 -- 當前選擇的 -- 年
    //第三個參數 -- 當前選擇的 -- 月
    //第四個參數 -- 當前選擇的 -- 日
    
    //注意:月份要加1 由於月份從0算的
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
      int dayOfMonth) {
     String dateString = year + "年" + monthOfYear + "月" + dayOfMonth + "日";
     Toast.makeText(MainActivity.this, dateString, Toast.LENGTH_SHORT).show();
    }
   }, year, month, day);
   //顯示DatePickerDialog時間對話框
   datepincker.show();ui

 

效果圖示例:this

===================================================================
TimePickerDialog時間對話框(小時,分鐘)簡單建立和基本使用
//獲取當前時間
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
INT minute = calendar.get(Calendar.MINUTE);
//建立一個TimePickerDialog時間對話框
//第一個參數 -- 上下文
//第二個參數 -- 時間對話框的事件監聽
//第三個參數 -- 當前的 -- 小時
//第四個參數 -- 當前的 -- 分鐘
//第四個參數 -- 是不是24小時制
TimePickerDialog timepicker = new TimePickerDialog(this, new OnTimeSetListener() {
  code

//第一個參數 -- TimePickerDialog時間對話框視圖
//第二個參數 -- 選擇的 -- 小時
//第三個參數 -- 選擇的 -- 分鐘  
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
     String date_time = hourOfDay + ":" + minute ;
     Toast.makeText(MainActivity.this, date_time, Toast.LENGTH_SHORT).show();
    }
   }, hour, minute, true);
   //顯示TimePickerDialog時間對話框
   timepicker.show();xml

 

效果圖示例事件

 

================================================================圖片

自定義對話框的簡單建立和基本使用

//注意:自定義對話框是在AlertDialog基礎上實現的 用得挺多的
//功能:登陸對話框
一、先在res/layout里布局登陸的界面 login_activity.xml佈局文件

代碼

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/edit_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入用戶名" />

    <EditText
        android:id="@+id/edit_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入密碼"
        android:inputType="textPassword" />


</LinearLayout>
----------------
二、建立自定義對話框

代碼

AlertDialog.Builder builder = new AlertDialog.Builder(this);//this -- 上下文
builder.setTitle("登陸對話框");//自定義對話框的標題
builder.setIcon(R.drawable.ic_launcher);//設置自定義對話框標題旁邊的圖片
//使用填充器找到登陸對話框的佈局文件名
View login = LayoutInflater.from(this).inflate(R.layout.login_activity,null);
//找到登陸佈局文件名後在找該佈局裏面的控件名
final EditText edit_name = (EditText) login.findViewById(R.id.edit_name);
final EditText edit_password = (EditText) login.findViewById(R.id.edit_password

builder.setView(login);//設置自定義對話框的視圖 -- 把找到的自定義登陸佈局放到裏面就能夠
//自已的對話框的肯定按鈕 時間監聽
 builder.setPositiveButton("肯定", new OnClickListener() {
    
    @Override
    public void onClick(DialogInterface dialog, int which) {
     String name = edit_name.getText().toString();
     String password = edit_password.getText().toString();
    
    setTitle(name + "::" + password);
    }
   });
   //取消按鈕
   builder.setNegativeButton("取消", null);
   //顯示自定義對話框
   builder.show();

 

效果圖示例

相關文章
相關標籤/搜索