随笔记录Android作业

1.1  普通对话框

1.2  列表对话框


1.3  单选对话框


1.4  多选对话框


1.5  时间对话框


1.6  日期对话框

\


1.7  进度条对话框


1.  自定义对话框




activity_main.xml文件的代码

    


-------------------------------------------------------------------------------------分割线

Activity代码:

package com.example.android_test7;import java.util.Calendar;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.app.AlertDialog.Builder;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.content.DialogInterface.OnMultiChoiceClickListener;import android.view.LayoutInflater;import android.view.View;import android.widget.DatePicker;import android.widget.EditText;import android.widget.TimePicker;import android.widget.Toast;public class MainActivity extends Activity {private EditText name;private EditText pwd;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}// 普通对话框的方法public void setOnClick(View view) {// 配置AlertDialog的Builder构造器构造一个对话框构造器AlertDialog.Builder build = new Builder(this);// 设置对话框的标题build.setTitle("更新");// 设置对话框的图标build.setIcon(android.R.drawable.ic_popup_sync);// 设置对话框的内容build.setMessage("发现最新版本是否需要更新?");// 设置对话框的正级按钮build.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "正在更新中", 0).show();}});build.setNeutralButton("中性的", null);// 对话框的负极按钮build.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "取消更新", 0).show();}});// 关闭'按钮点界面的自动取消'功能build.setCancelable(false);// 显示对话框build.show();}// 1.2 列表对话框public void setOnClick2(View v) {// new Builder构造器AlertDialog.Builder build = new Builder(this);// 设置标题build.setTitle("选择语言").setIcon(android.R.drawable.ic_notification_overlay);// 多选框的内容数组final String s[] = { "java", "c/c++", ".Net" };// 设置多选的内容build.setItems(s, new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {Toast.makeText(MainActivity.this, "你选中的是" + s[arg1], 0).show();}});// 关闭'按钮点界面的自动取消'功能build.setCancelable(false);// 显示对话框build.show();}// 1.3 单选对话框public void setOnClick3(View v) {AlertDialog.Builder build = new Builder(this);build.setTitle("选择语言").setIcon(android.R.drawable.ic_search_category_default);final String s[] = { "java", "c/c++", ".Net" };// 设置多选内容build.setSingleChoiceItems(s, 0, new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {Toast.makeText(MainActivity.this, "你选中了" + s[arg1], 0).show();}});// 关闭'按钮点界面的自动取消'功能build.setCancelable(false);build.show();}// 1.4 多选对话框public void setOnClick4(View v) {AlertDialog.Builder build = new Builder(this);build.setTitle("多选语言").setIcon(android.R.drawable.ic_search_category_default);final String s[] = { "java", "c/c++", ".Net" };final boolean isnot[] = { false, false, false };// 设置多选内容build.setMultiChoiceItems(s, isnot, new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which,boolean isChecked) {isnot[which] = isChecked;}});build.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String str = "";for (int i = 0; i < isnot.length; i++) {if (isnot[i] == true) {str += s[i] + ",";}}if (!str.equals("")) {str = str.substring(0, str.length() - 1);Toast.makeText(MainActivity.this, "你选中了" + str, 0).show();}}});build.setNegativeButton("取消", null);// 关闭'按钮点界面的自动取消'功能build.setCancelable(false);build.show();}// 1.5 时间对话框public void setOnClick5(View v) {// 取当前时间Calendar c = Calendar.getInstance();final int hh = c.get(c.HOUR_OF_DAY);final int mm = c.get(c.MINUTE);TimePickerDialog pdialog = new TimePickerDialog(this,new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay,int minute) {Toast.makeText(MainActivity.this,"设置的时间为" + hourOfDay + "时" + minute + "分", 0).show();}}, hh, mm, true);pdialog.setTitle("选择时间");pdialog.setIcon(android.R.drawable.ic_lock_idle_alarm);pdialog.show();}// 日期对话框public void setOnClick6(View v) {// 拿到当前系统的时间Calendar c = Calendar.getInstance();// 分别设置年月日3个变量final int year = c.get(c.YEAR);final int month = c.get(c.MONTH);final int day = c.get(c.DAY_OF_MONTH);// 创建日期对话框的dialogDatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year, int month,int day) {// 提示出来看下是否拿到值String text = year + "-" + month + "-" + day;Toast.makeText(MainActivity.this, text, 0).show();}}, year, month, day);// 默认设置为当前的系统时间// 对话框的标题dialog.setTitle("选择日期");// 对话框的图标dialog.setIcon(android.R.drawable.ic_lock_idle_alarm);// 关闭'按钮点界面的自动取消'功能dialog.setCancelable(false);// 显示对话框dialog.show();}// 进度条对话框public void setOnClick7(View v) {final ProgressDialog dialog = new ProgressDialog(this);// 正在加载dialog.setTitle("正在加载");dialog.setIcon(android.R.drawable.ic_menu_more);dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 主题dialog.setMax(100);// 最大值// 关闭'按钮点界面的自动取消'功能dialog.setCancelable(false);dialog.show();// 进度条效果Thread th = new Thread(new Runnable() {@Overridepublic void run() {for (int i = 0; i < 100; i++) {dialog.setProgress(i);try {// 休眠Thread.sleep(80);} catch (InterruptedException e) {e.printStackTrace();}}// 关闭当前对话框dialog.dismiss();}});th.start();}// 自定义对话框public void setOnClick8(View v) {// 创建对话框AlertDialog.Builder builde = new AlertDialog.Builder(this);// 设置标题builde.setTitle("登录");// 设置图标builde.setIcon(android.R.drawable.arrow_down_float);// LayoutInflater.from获取到自定义的login.xml的视图,第二参数用于追加另一个布局使用v = LayoutInflater.from(MainActivity.this).inflate(R.layout.login, null);// 拿到name和pwd的值name = (EditText) v.findViewById(R.id.et_name);pwd = (EditText) v.findViewById(R.id.et_pwd);// 设置viewbuilde.setView(v);// 登录按钮监听事件builde.setPositiveButton("登录", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String username = name.getText() + "";String userpwd = pwd.getText() + "";if (username != "" || userpwd != "") {Toast.makeText(MainActivity.this,"用户名为" + username + "密码为" + userpwd, 0).show();} else {Toast.makeText(MainActivity.this, "请输入正确的账户和密码", 0).show();}}});builde.setNeutralButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {}});// 显示对话框builde.show();// 关闭'按钮点界面的自动取消'功能builde.setCancelable(false);}}


自定义对话框加一个自定义布局的xml

<?xml version="1.0" encoding="utf-8"?>                            

简单的各种对话框的案例供参考

更多相关文章

  1. Android中自定义带图标和清空内容按钮的EditText控件
  2. Android(安卓)SlidingMenu 使用详解
  3. Android第一次引导页设置
  4. android 设置进入全屏,取消全屏的几种方式
  5. android:inputtype
  6. layout中设置图片自适应大小,并且设置最大宽高
  7. 关于在Android设置全局变量随时获取context
  8. Android(安卓)使用弹出对话框,报Unable to add window错误
  9. Android(安卓)Studio 设置控件和颜色透明度

随机推荐

  1. Activity 与 ActivityManagerService 的
  2. Android(安卓)设置图片 Bitmap任意透明度
  3. HasMap 与 SparseArray
  4. Android中的AOP
  5. 最简单的android底部导航栏 + Fragment的
  6. [Android分享] 如何解决Android 5.0中出
  7. android native c 的so调试
  8. android中对sim卡联系人的增删改查以及监
  9. Android 关闭/打开多点触控 (Android中设
  10. android 文字尺寸(宽高)的测量