Android AlertDialog對話框詳解及實例
更新時間:2016年12月26日 11:03:11 投稿:lqh
這篇文章主要介紹了Android AlertDialog對話框詳解及實例的相關資料,需要的朋友可以參考下
Android AlertDialog


關系圖如下:
Android主要提供四種對話框:
1:AlertDialog:功能最豐富,實際應用最廣的對話框。
2:ProgressDialog:進度條對話框
3:DatePickerDialog:日期選擇器對話框
4:TimePickerDialog:時間選擇器對話框
創(chuàng)建一個對話框的步驟:
AlertDialog.Builder builder = new AlertDialog.Builder(this)
// 1:設置對話框標題
.setTitle("自定義列表項對話框")
// 2:設置圖標
.setIcon(R.drawable.tools)
// 3:設置內容
.setMessage("對話框的測試內容\n第二行內容");
// 為AlertDialog.Builder添加“確定”按鈕
setPositiveButton(builder);
// 為AlertDialog.Builder添加“取消”按鈕
setNegativeButton(builder)
.create()
.show();
代碼區(qū):
main.xml代碼區(qū):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal"> <!-- 顯示一個普通的文本編輯框組件 --> <EditText android:id="@+id/show" android:layout_width="match_parent" android:layout_height="wrap_content" android:editable="false"/> <!-- 定義一個普通的按鈕組件 --> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="簡單對話框" android:onClick="simple" /> <!-- 定義一個普通的按鈕組件 --> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="簡單列表項對話框" android:onClick="simpleList" /> <!-- 定義一個普通的按鈕組件 --> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="單選列表項對話框" android:onClick="singleChoice" /> <!-- 定義一個普通的按鈕組件 --> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="多選列表項對話框" android:onClick="multiChoice" /> <!-- 定義一個普通的按鈕組件 --> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="自定義列表項對話框" android:onClick="customList" /> <!-- 定義一個普通的按鈕組件 --> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="自定義View對話框" android:onClick="customView" /> </LinearLayout>
Activity代碼區(qū):
public class MainActivity extends Activity {
TextView show;
String[] items = new String[] {
"aserbao", "Android",
" Java",
"IOS" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show = (TextView) findViewById(R.id.show);
}
public void simple(View source)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this)
// 設置對話框標題
.setTitle("簡單對話框")
// 設置圖標
.setIcon(R.drawable.tools)
.setMessage("對話框的測試內容\n第二行內容");
// 為AlertDialog.Builder添加“確定”按鈕
setPositiveButton(builder);
// 為AlertDialog.Builder添加“取消”按鈕
setNegativeButton(builder)
.create()
.show();
}
public void simpleList(View source)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this)
// 設置對話框標題
.setTitle("簡單列表對話框")
// 設置圖標
.setIcon(R.drawable.tools)
// 設置簡單的列表項內容
.setItems(items, new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
show.setText("你選中了《" + items[which] + "》");
}
});
// 為AlertDialog.Builder添加“確定”按鈕
setPositiveButton(builder);
// 為AlertDialog.Builder添加“取消”按鈕
setNegativeButton(builder)
.create()
.show();
}
public void singleChoice(View source)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this)
// 設置對話框標題
.setTitle("單選列表項對話框")
// 設置圖標
.setIcon(R.drawable.tools)
// 設置單選列表項,默認選中第二項(索引為1)
.setSingleChoiceItems(items, 1, new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
show.setText("你選中了《" + items[which] + "》");
}
});
// 為AlertDialog.Builder添加“確定”按鈕
setPositiveButton(builder);
// 為AlertDialog.Builder添加“取消”按鈕
setNegativeButton(builder)
.create()
.show();
}
public void multiChoice(View source)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this)
// 設置對話框標題
.setTitle("多選列表項對話框")
// 設置圖標
.setIcon(R.drawable.tools)
// 設置多選列表項,設置勾選第2項、第4項
.setMultiChoiceItems(items
, new boolean[]{false , true ,false ,true}, null);
// 為AlertDialog.Builder添加“確定”按鈕
setPositiveButton(builder);
// 為AlertDialog.Builder添加“取消”按鈕
setNegativeButton(builder)
.create()
.show();
}
public void customList(View source)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this)
// 設置對話框標題
.setTitle("自定義列表項對話框")
// 設置圖標
.setIcon(R.drawable.tools)
// 設置自定義列表項
.setAdapter(new ArrayAdapter<String>(this
, R.layout.array_item
, items), null);
// 為AlertDialog.Builder添加“確定”按鈕
setPositiveButton(builder);
// 為AlertDialog.Builder添加“取消”按鈕
setNegativeButton(builder)
.create()
.show();
}
public void customView(View source)
{
// 裝載app\src\main\res\layout\login.xml界面布局文件
TableLayout loginForm = (TableLayout)getLayoutInflater()
.inflate( R.layout.login, null);
new AlertDialog.Builder(this)
// 設置對話框的圖標
.setIcon(R.drawable.tools)
// 設置對話框的標題
.setTitle("自定義View對話框")
// 設置對話框顯示的View對象
.setView(loginForm)
// 為對話框設置一個“確定”按鈕
.setPositiveButton("登錄", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// 此處可執(zhí)行登錄處理
}
})
// 為對話框設置一個“取消”按鈕
.setNegativeButton("取消", new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog,
int which)
{
// 取消登錄,不做任何事情
}
})
// 創(chuàng)建并顯示對話框
.create()
.show();
}
private AlertDialog.Builder setPositiveButton(
AlertDialog.Builder builder)
{
// 調用setPositiveButton方法添加“確定”按鈕
return builder.setPositiveButton("確定", new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
show.setText("單擊了【確定】按鈕!");
}
});
}
private AlertDialog.Builder setNegativeButton(
AlertDialog.Builder builder)
{
// 調用setNegativeButton方法添加“取消”按鈕
return builder.setNegativeButton("取消", new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
show.setText("單擊了【取消】按鈕!");
}
});
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:
- Android實現點擊AlertDialog上按鈕時不關閉對話框的方法
- Android修改源碼解決Alertdialog觸摸對話框邊緣消失的問題
- Android中AlertDialog各種對話框的用法實例詳解
- ANDROID中自定義對話框AlertDialog使用示例
- 簡析Android多種AlertDialog對話框效果
- Android AlertDialog對話框用法示例
- Android AlertDialog實現分享對話框/退出對話框/下載對話框
- Android中AlertDialog 點擊按鈕后不關閉對話框的功能
- Android Alertdialog(實現警告對話框)
- Android常用的AlertDialog對話框及自定義對話框
- Android使用AlertDialog實現對話框
- Android編程實現AlertDialog自定義彈出對話框的方法示例
相關文章
Android SharedPreferences四種操作模式使用詳解
這篇文章主要介紹了Android SharedPreferences四種操作模式使用詳解的相關資料,這里介紹了獲取Android SharedPreferences的兩種方法及比較,和操作模式的介紹,需要的朋友可以參考下2017-07-07
Android Loop機制中Looper與handler詳細分析
Handler是Android線程之間的消息機制,主要的作用是將一個任務切換到指定的線程中去執(zhí)行,準確的說是切換到構成Handler的looper所在的線程中去出處理。本文將詳細介紹Android Handler機制和Looper Handler Message關系2022-11-11
Android 自定義TextView實現文本內容自動調整字體大小
本文主要介紹了Android 自定義TextView實現文本內容自動調整字體大小以適應TextView的大小的方法。具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03
Android編程實現帶有單選按鈕和復選按鈕的dialog功能示例
這篇文章主要介紹了Android編程實現帶有單選按鈕和復選按鈕的dialog功能,結合具體實例形式分析了Android實現帶有單選按鈕的dialog對話框及帶有復選按鈕的dialog對話框相關操作技巧,需要的朋友可以參考下2017-09-09

