• ANDROID笔记:Dialog的几种用法


      1 package com.example.android_dialog;
      2 
      3 import java.util.Calendar;
      4 
      5 import android.app.Activity;
      6 import android.app.AlertDialog;
      7 import android.app.DatePickerDialog;
      8 import android.app.TimePickerDialog;
      9 import android.os.Bundle;
     10 import android.view.Gravity;
     11 import android.view.LayoutInflater;
     12 import android.view.View;
     13 import android.view.View.OnClickListener;
     14 import android.widget.Button;
     15 import android.widget.DatePicker;
     16 import android.widget.EditText;
     17 import android.widget.PopupWindow;
     18 import android.widget.TimePicker;
     19 import android.widget.Toast;
     20 
     21 /**
     22  * Dialog的几种用法
     23  * 
     24  * @author Administrator
     25  * 
     26  */
     27 public class MainActivity extends Activity implements OnClickListener {
     28     TimePickerDialog.OnTimeSetListener timeSetListener;
     29     DatePickerDialog.OnDateSetListener dateSetListener;
     30 
     31     @Override
     32     protected void onCreate(Bundle savedInstanceState) {
     33         super.onCreate(savedInstanceState);
     34         setContentView(R.layout.activity_main);
     35 
     36         Button button = (Button) findViewById(R.id.btn);
     37         button.setOnClickListener(this);
     38 
     39         Button button1 = (Button) findViewById(R.id.btn1);
     40         button1.setOnClickListener(this);
     41         Button button2 = (Button) findViewById(R.id.btn2);
     42         button2.setOnClickListener(this);
     43 
     44         Button button3 = (Button) findViewById(R.id.btn3);
     45         button3.setOnClickListener(this);
     46         // 日期Dialog的监听类
     47         dateSetListener = new DatePickerDialog.OnDateSetListener() {
     48 
     49             @Override
     50             public void onDateSet(DatePicker view, int year, int monthOfYear,
     51                     int dayOfMonth) {
     52                 Toast.makeText(getApplicationContext(),
     53                         year + "--" + monthOfYear + "--" + dayOfMonth,
     54                         Toast.LENGTH_SHORT).show();
     55 
     56             }
     57         };
     58         // 时间Dialog的监听类
     59         timeSetListener = new TimePickerDialog.OnTimeSetListener() {
     60 
     61             @Override
     62             public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
     63                 Toast.makeText(getApplicationContext(),
     64                         hourOfDay + ":" + minute, Toast.LENGTH_SHORT).show();
     65             }
     66         };
     67     }
     68 
     69     @Override
     70     public void onClick(View v) {
     71         AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
     72         Calendar calendar = Calendar.getInstance();
     73 
     74         final AlertDialog dialog;
     75         switch (v.getId()) {
     76         // 普通Dialog界面
     77         case R.id.btn:
     78             dialog = builder.create();
     79             dialog.setTitle("提醒");
     80             dialog.setIcon(R.drawable.ic_launcher);
     81             dialog.setMessage("登录失败");
     82             dialog.show();
     83             break;
     84         // 自定Dialog自定义界面
     85         case R.id.btn1: {
     86             dialog = builder.create();
     87             dialog.setTitle("提醒");
     88             dialog.setIcon(R.drawable.ic_launcher);
     89             // 加载界面
     90             LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
     91             View view = inflater.inflate(R.layout.dialogtest, null);
     92             final EditText editText = (EditText) view
     93                     .findViewById(R.id.editText1);
     94             final EditText editText2 = (EditText) view
     95                     .findViewById(R.id.editText2);
     96             Button button = (Button) view.findViewById(R.id.okbtn);
     97             button.setOnClickListener(new OnClickListener() {
     98 
     99                 @Override
    100                 public void onClick(View v) {
    101                     Toast.makeText(
    102                             getApplicationContext(),
    103                             editText.getText().toString() + "-----"
    104                                     + editText2.getText().toString(),
    105                             Toast.LENGTH_SHORT).show();
    106                     dialog.dismiss();
    107                 }
    108             });
    109             // dialog加载界面
    110             dialog.setView(view);
    111             dialog.show();
    112         }
    113             break;
    114         case R.id.btn2:
    115             // 日期Dialog
    116             DatePickerDialog datePickerDialog = new DatePickerDialog(
    117                     MainActivity.this, dateSetListener,
    118                     calendar.get(calendar.YEAR), calendar.get(calendar.MONTH),
    119                     calendar.get(calendar.DAY_OF_MONTH));
    120             // 时间Dialog
    121             TimePickerDialog timePickerDialog = new TimePickerDialog(
    122                     MainActivity.this, timeSetListener,
    123                     calendar.get(calendar.HOUR_OF_DAY),
    124                     calendar.get(calendar.MINUTE), true);
    125             datePickerDialog.show();
    126 
    127             break;
    128         case R.id.btn3: {
    129             // PopupWindow
    130             LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
    131             View view = inflater.inflate(R.layout.dialogtest, null);
    132             final PopupWindow popupWindow = new PopupWindow(view, 320, 320);
    133             Button button = (Button) view.findViewById(R.id.okbtn);
    134             button.setOnClickListener(new OnClickListener() {
    135 
    136                 @Override
    137                 public void onClick(View v) {
    138                     // popupWindow消失
    139                     popupWindow.dismiss();
    140 
    141                 }
    142             });
    143             // 在屏幕底部显示
    144             popupWindow.showAtLocation(v, Gravity.BOTTOM, 0, 0);
    145         }
    146             break;
    147         }
    148 
    149     }
    150 }

  • 相关阅读:
    POJ 1182 食物链(带权并查集)
    UVa 10655 n次方之和(矩阵快速幂)
    2016湘潭邀请赛—Heartstone
    2016湘潭邀请赛—Gambling
    UVa 10375 选择与除法(唯一分解定理)
    UVa 1637 纸牌游戏(全概率公式)
    POJ 2443 Set Operation(压位加速)
    UVa 11248 网络扩容(最大流(需要优化))
    51Nod 1737 配对(树的重心)
    51Nod 1070 Bash游戏 V4(斐波那契博弈)
  • 原文地址:https://www.cnblogs.com/afluy/p/3382845.html
Copyright © 2020-2023  润新知