Android 對話方塊總結(確定取消,單選,多選,進度條,具體的進度條)
阿新 • • 發佈:2018-12-05
/** * 彈出確定取消對話方塊 * * @param view */ public void click01(View view) { // 工廠設計模式,得到建立對話方塊的工廠 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("警告"); builder.setMessage("若練此功,必先自宮,是否繼續?"); builder.setPositiveButton("是", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "啊...即便自宮,也不一定能成功", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("否", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "如果不自宮,一定不成功", Toast.LENGTH_SHORT).show(); } }); builder.show(); }
/** * 單選對話方塊 * * @param view */ public void click02(View view) { // 工廠設計模式,得到建立對話方塊的工廠 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("請選擇您的性別:"); final String[] items = {"男", "女", "人妖"}; builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您的性別為:" + items[which], Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); builder.show(); }
/** * 多選對話方塊 * * @param view */ public void click03(View view) { // 工廠設計模式,得到建立對話方塊的工廠 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("請選擇您愛吃的水果:"); final String[] items = {"蘋果", "梨子", "香蕉", "菠蘿", "哈密瓜"}; final boolean[] checkeds = {true, false, true, false, true}; builder.setMultiChoiceItems(items, checkeds, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(MainActivity.this, items[which] + isChecked, Toast.LENGTH_SHORT).show(); } }); builder.setPositiveButton("提交", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < checkeds.length; i++) { if (checkeds[i]) { sb.append(items[i] + " "); } } Toast.makeText(MainActivity.this, "您喜歡吃的水果是:" + sb.toString(), Toast.LENGTH_SHORT).show(); } }); builder.show(); }
/**
* 進度對話方塊
*
* @param view
*/
public void click04(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("請稍後:");
pd.setMessage("正在拼命載入中...");
pd.show();
new Thread() {
@Override
public void run() {
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();
}
}.start();
}
/**
* 帶具體進度的對話方塊
*
* @param view
*/
public void click05(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("請稍後:");
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("正在拼命載入中...");
// 設定進度條的最大值
pd.setMax(100);
pd.show();
new Thread() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(300);
pd.setProgress(i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
pd.dismiss();
}
}.start();
}
- 輸入框的
final EditText inputServer = new EditText(this);
inputServer.setHint("url");
inputServer.setText(url);
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
builder.setTitle("請求不到伺服器,請檢查url:");
builder.setView(inputServer);
// 通過LayoutInflater來載入一個xml的佈局檔案作為一個View物件
builder.setPositiveButton("確定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
String server = inputServer.getText().toString().trim();
// 將輸入的打印出來
Toast.makeText(LoginActivity.this, " url" + server, Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
Toast.makeText(LoginActivity.this,"你一點選取消", Toast.LENGTH_SHORT).show();
}
});
builder.show();
網上也有比較好的
https://blog.csdn.net/wanzdhan/article/details/7024834