編輯:關於Android編程
AlertDialog的使用是依賴於Activity的。它不同於Toast,Toast是不依賴於Activity的,Toast只起到一種提示作用,並無法進行交互。而AlertDialog是可以進行交互的,不僅可以起到提示作用,還可以用來進行選擇等,下面我們來看看它的用法。
我們通過一個按鍵的點擊來觸發AlertDialog:
//首先創建一個AlertDialog.Builder的對象。
AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
//設置圖片
builder.setIcon(R.mipmap.ic_launcher);
//設置題目
builder.setTitle(Title);
//設置內容
builder.setMessage(This is a Dialog!);
//設置按鍵NegativeButton(在最左邊)
builder.setNegativeButton(Cancle, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), NegativeButton, Toast.LENGTH_SHORT).show();
}
});
//設置按鍵NeutralButton(在中間)
builder.setNeutralButton(Neutral, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), NeutralButton, Toast.LENGTH_SHORT).show();
}
});
//設置按鍵PositiveButton(在最右邊)
builder.setPositiveButton(OK, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), PositiveButton, Toast.LENGTH_SHORT).show();
}
});
//創建AlertDialog 對象。
AlertDialog dialog =builder.create();
//調用show()方法顯示。
dialog.show();
通過彈出AlertDialog,在AlertDialog中選擇想要的內容,點擊後直接退出AlertDialog。
//首先創建一個AlertDialog.Builder的對象。
AlertDialog.Builder builder =new AlertDialog.Builder(DialogActivity.this);
//設置題目
builder.setTitle(Title);
//設置選擇的內容:第一個參數是數據, 第二個參數是點擊事件。
builder.setItems(mData, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), 點擊第 + (i + 1) + 數據, Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog =builder.create();
dialog.show();
數據設置為:
private String[] mData={This is Item1, This is Item2, This is Item3, This is Item4};
通過彈出AlertDialog,在AlertDialog中選擇想要的內容,點擊定義的NegativeButton,NeutralButton或者PositiveButton按鈕後退出,我們可以通過在NeutralButton或者PositiveButton按鈕中定義相關操作提交數據,NegativeButton則是不對數據做處理直接退出。注意:單選擇的AlertDialog只能選擇一項。
AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
builder.setTitle(Title);
//設置單選則的選項
builder.setSingleChoiceItems(mSexs, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
mSex = mSexs[which];
Toast.makeText(getApplicationContext(), 您選擇的性別是 + mSexs[which], Toast.LENGTH_SHORT).show();
}
});
//取消按鈕,點擊後不對數據做處理。
builder.setNegativeButton(Cancle, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
//確定按鈕,點擊後將數據顯示在EditText中。
builder.setNeutralButton(OK, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
mEditTextSex.setText(mSex);
}
});
builder.show();
補充數據定義:
private String[] mSexs={男, 女, 其他};
private String mSex;
通過彈出AlertDialog,在AlertDialog中選擇想要的內容,點擊定義的NegativeButton,NeutralButton或者PositiveButton按鈕後退出,我們可以通過在NeutralButton或者PositiveButton按鈕中定義相關操作提交數據,NegativeButton則是不對數據做處理直接退出。注意:多選擇的AlertDialog可以選擇多項。
AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
builder.setTitle(Title);
//設置多選擇項。
builder.setMultiChoiceItems(mHobby, mIsCheckedManager, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which, boolean isChecked) {
mIsCheckedManager[which] = isChecked;
}
});
builder.setNegativeButton(Cancle, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
builder.setNeutralButton(OK, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
hobby = new StringBuffer();
for (int i=0; i
補充數據定義:
private String[] mHobby={唱歌, 學習, 讀書, 打籃球, 跑步, 運動};
private boolean[] mIsCheckedManager=new boolean[mHobby.length];
private StringBuffer hobby;
去掉ActionBarandroid:theme="@android:style/Theme.Holo.NoActionBar"actionBar =
ExpandableListView是一個垂直滾動顯示兩級列表項的視圖,與ListView不同的是,它可以有兩層:每一層都能夠被獨立的展開並顯示其子項。好友QQ列表,可以
傳統界面的布局方式總是行列分明、坐落有序的,這種布局已是司空見慣,在不知不覺中大家都已經對它產生了審美疲勞。這個時候瀑布流布局的出現,就給人帶來了耳目一新的感覺,這種布局
隨著手機的普及,移動電源也開始火起來了,非常的方便,出門沒電必備,能先將電充進移動電源裡,儲存在裡面,等手機沒電再用移動電源給手機充電。那麼小編現在就給大家