轉自http://www.eoeandroid.com/thread-908675-1-1.html?_dsign=16cd625b
第一種 普通對話框
- AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
- builder.setTitle("普通對話框");//標題
- builder.setMessage("這是一個普通的對話框");//信息
- builder.setIcon(R.drawable.ic_launcher);//圖標
- builder.create();//創建
- builder.show();//顯示
- AlertDialog.Builder builder2=new AlertDialog.Builder(MainActivity.this);
- builder2.setTitle("確定取消對話框");
- builder2.setMessage("請選擇確定或取消");
- builder2.setIcon(R.drawable.ic_launcher);
- builder2.setPositiveButton("確定", new OnClickListener() {
- //正能量按鈕 Positive
- @Override
- public void onClick(DialogInterface dialog, int which) {
- //這裏寫點擊按鈕後的邏輯代碼
- Toast.makeText(MainActivity.this, "你點擊了確定", 0).show();
- }
- });
- builder2.setNegativeButton("取消", new OnClickListener() {
- //負能量按鈕 NegativeButton
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this,"你選擇了取消",0).show();
- }
- });
- builder2.create().show();
- AlertDialog.Builder builder3=new AlertDialog.Builder(MainActivity.this);
- builder3.setTitle("多個按鈕對話框");
- builder3.setMessage("請選擇");
- builder3.setIcon(R.drawable.ic_launcher);
- builder3.setPositiveButton("繼續瀏覽", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this,"繼續瀏覽精彩內容",0).show();
- }
- });
- builder3.setNeutralButton("暫停休息", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this,"起來活動活動吧", 0).show();
- }
- });
- builder3.setNegativeButton("離開頁面", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this,"歡迎下次使用", 0).show();
- }
- });
- builder3.create().show();
先在string.xml中添加以下代碼
- <string-array
- name="oem">
- <item >小米</item>
- <item >榮耀</item>
- <item >魅族</item>
- <item >樂視</item>
- <item >奇酷</item>
- <item >錘子</item>
- </string-array>
- final String arrItem[]=getResources().getStringArray(R.array.oem);
- builder4.setItems(arrItem, new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this,"你選擇了第"+arrItem[which],0).show();
- }
- });
- builder4.create().show();
- AlertDialog.Builder builder5=new AlertDialog.Builder(MainActivity.this);
- builder5.setTitle("帶Adapter的對話框");
- builder5.setIcon(R.drawable.ic_launcher);
- //獲取數據源
- //創建一個List對象並實例化
- final List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
- //圖片
- int arrImgID[]={R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,
- R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
- for (int i = 0; i < arrImgID.length; i++) {
- Map<String,Object> map=new HashMap<String,Object>();
- map.put("img", arrImgID[i]);
- map.put("title", "title"+i);
- list.add(map);
- }
- //創建Adapter對象並實例化
- SimpleAdapter adapter=new SimpleAdapter(
- MainActivity.this,
- list,
- R.layout.layout_test1,
- new String[]{"img","title"},
- new int[]{R.id.iv,R.id.tv});
- //將數據填充到Adapter
- builder5.setAdapter(adapter, new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this, "你選擇了"+list.get(which).get("title").toString().trim(), 0).show();
- }
- });
- builder5.create().show();
- AlertDialog.Builder builder6=new AlertDialog.Builder(MainActivity.this);
- builder6.setTitle("單選對話框");
- builder6.setIcon(R.drawable.ic_launcher);
- //參數1 item數據源 參數2 默認選中的item 參數3 item點擊監聽
- builder6.setSingleChoiceItems(R.array.oem, 0, new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this, which+"", 0).show();
- }
- });
- //設置按鈕
- builder6.setPositiveButton("確定", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
-
- }
- });
- builder6.create().show();
- AlertDialog.Builder builder7=new AlertDialog.Builder(MainActivity.this);
- builder7.setTitle("多選對話框");
- builder7.setIcon(R.drawable.ic_launcher);
- builder7.setMultiChoiceItems(R.array.oem, null, new OnMultiChoiceClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which, boolean isChecked) {
- Toast.makeText(MainActivity.this, which+""+isChecked, 0).show();
- }
- });
- builder7.create().show();
- //創建DatePickerDialog對象並實例化
- //國內外日期計算不同 注意此處輸出月份需+1 默認設置月份需-1
- DatePickerDialog datePickerDialog=new DatePickerDialog(MainActivity.this,
- new OnDateSetListener() {
-
- @Override
- public void onDateSet(DatePicker view, int year, int monthOfYear,
- int dayOfMonth) {
- Toast.makeText(MainActivity.this,
- year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日", 0).show();
- }
- },
- 2015, 8, 21);
- //Date和Time只用show() 不用create()
- datePickerDialog.show();
- TimePickerDialog timePickerDialog=new TimePickerDialog(MainActivity.this,
- new OnTimeSetListener() {
-
- @Override
- public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
- Toast.makeText(MainActivity.this,
- hourOfDay+"點"+minute+"分", 0).show();
- }
- },
- 17, 49, true);
- timePickerDialog.show();
- AlertDialog.Builder builder10=new AlertDialog.Builder(MainActivity.this);
- builder10.setTitle("自定義對話框");
- builder10.setIcon(R.drawable.ic_launcher);
- //獲取自定義對話框View
- View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_test2, null);
- //獲取控件
- final EditText et_name=(EditText)view.findViewById(R.id.et_name);
- final EditText et_pwd=(EditText)view.findViewById(R.id.et_pwd);
- //設置按鈕
- builder10.setPositiveButton("確定", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(MainActivity.this, "您的信息爲 姓名:"+et_name.getText().toString()+" 密碼:"+et_pwd.getText().toString(), 0).show();
- }
- });
- //加載自定義佈局
- builder10.setView(view).create().show();