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();
效果圖示例