在Android開發中,我們經常會需要在Android界面上彈出一些對話框,比如詢問用戶或者讓用戶選擇。這些功能我們叫它Android Dialog對話框,在我們使用Android的過程中,我歸納了一下,Android Dialog的類型無非也就7種,下面我分別向大家介紹這7種Android Dialog對話框的使用方法,希望對大家能有所幫助。
1.該效果是當按返回按鈕時彈出一個提示,來確保無誤操作,採用常見的對話框樣式。
創建dialog對話框方法代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
protected
void
dialog() {
AlertDialog.Builder builder = new
Builder(Main. this );
builder.setMessage( "確認退出嗎?" );
builder.setTitle( "提示" );
builder.setPositiveButton( "確認" ,
new
OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog, int
which) {
dialog.dismiss();
Main. this .finish();
}
});
builder.setNegativeButton( "取消" ,
new
OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog, int
which) {
dialog.dismiss();
}
});
builder.create().show();
} |
1
2
3
4
5
6
|
public
boolean
onKeyDown( int
keyCode, KeyEvent event) {
if
(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 )
{
dialog();
}
return
false ;
} |
創建dialog的方法代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
Dialog
dialog = new
AlertDialog.Builder( this ).setIcon(
android.R.drawable.btn_star).setTitle( "喜好調查" ).setMessage(
"你喜歡李連杰的電影嗎?" ).setPositiveButton( "很喜歡" ,
new
OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog, int
which) {
//
TODO Auto-generated method stub
Toast.makeText(Main. this ,
"我很喜歡他的電影。" ,
Toast.LENGTH_LONG).show();
}
}).setNegativeButton( "不喜歡" ,
new
OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog, int
which) {
//
TODO Auto-generated method stub
Toast.makeText(Main. this ,
"我不喜歡他的電影。" ,
Toast.LENGTH_LONG)
.show();
}
}).setNeutralButton( "一般" ,
new
OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog, int
which) {
//
TODO Auto-generated method stub
Toast.makeText(Main. this ,
"談不上喜歡不喜歡。" ,
Toast.LENGTH_LONG)
.show();
}
}).create();
dialog.show(); |
創建dialog方法的代碼如下:
1
2
3
4
|
new
AlertDialog.Builder( this ).setTitle( "請輸入" ).setIcon(
android.R.drawable.ic_dialog_info).setView(
new
EditText( this )).setPositiveButton( "確定" ,
null )
.setNegativeButton( "取消" ,
null ).show(); |
創建dialog方法的代碼如下:
1
2
3
4
|
new
AlertDialog.Builder( this ).setTitle( "複選框" ).setMultiChoiceItems(
new
String[] { "Item1" ,
"Item2"
}, null ,
null )
.setPositiveButton( "確定" ,
null )
.setNegativeButton( "取消" ,
null ).show(); |
創建dialog方法的代碼如下:
1
2
3
4
5
6
7
8
|
new
AlertDialog.Builder( this ).setTitle( "單選框" ).setIcon(
android.R.drawable.ic_dialog_info).setSingleChoiceItems(
new
String[] { "Item1" ,
"Item2"
}, 0 ,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog, int
which) {
dialog.dismiss();
}
}).setNegativeButton( "取消" ,
null ).show(); |
創建dialog的方法代碼如下:
1
2
3
|
new
AlertDialog.Builder( this ).setTitle( "列表框" ).setItems(
new
String[] { "Item1" ,
"Item2"
}, null ).setNegativeButton(
"確定" ,
null ).show(); |
dialog佈局文件代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
<? xml
version = "1.0"
encoding = "utf-8" ?>
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:background = "#ffffffff"
android:orientation = "horizontal"
android:id = "@+id/dialog" >
< TextView
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:id = "@+id/tvname"
android:text = "姓名:"
/>
< EditText
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
android:id = "@+id/etname"
android:minWidth = "100dip" /> </ LinearLayout > |
1
2
3
4
5
6
|
LayoutInflater
inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog,
(ViewGroup) findViewById(R.id.dialog));
new
AlertDialog.Builder( this ).setTitle( "自定義佈局" ).setView(layout)
.setPositiveButton( "確定" ,
null )
.setNegativeButton( "取消" ,
null ).show(); |
好了,以上7種Android dialog對話框的使用方法就介紹到這裏了,基本都全了,如果大家在android開發過程中遇到dialog的時候就可以拿出來看看。
另外注,本文參考文章:
http://android.tgbus.com/Android/tutorial/201107/359812.shtml