***AlertDialog

*常用方法:
setTitle():设置对话框的标题
setIcon():设置对话框图标
setMessage():设置对话框要传达的具体信息
setCancelable:点击对话框以外的区域是否让对话框消失
setNegativeButton(),setPositiveButton(),setNeutralButton():用来设置对话框中的按钮选项

案例效果:点击button按钮,可显示出Dialog对话框,再点击确定即可退出app,点击取消则什么都不做;或通过点击返回键也可显示出对话框

public class MainActivity extends Activity {private AlertDialog.Builder builder;private AlertDialog mydialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initDialog();}private void initDialog() {builder = new AlertDialog.Builder(this);//因为AlertDialog中的构造方法都是protect形式的,所以不能直接new创建对象,但可以调用它的内部类Builder创建//因为内部类Builder中方法的返回值仍然是Builder类型的所以可以采用链式调用多个方法builder.setTitle("警告").setIcon(R.drawable.ic_launcher).setCancelable(true).setMessage("确定退出?").setNegativeButton("取消",null).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {finish();       }});mydialog = builder.create();}//设置button按钮的点击事件public void onClick(View v) {if(!mydialog.isShowing()){mydialog.show();}}//设置某按键被点击时的方法@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if((keyCode == KeyEvent.KEYCODE_BACK)&&(!mydialog.isShowing())){//这里设置返回键被点击时的操作mydialog.show();return true;}return super.onKeyDown(keyCode, event);}
}

***自定义Dailog

主要使用setCustomTitle()方法和setView方法
有一点要注意的是主体内容只能有一种,比如:设置了SetMessage不能再设置SetAdapter或SetView。

自定义标题布局title_layout.xml:

 <ImageView android:id="@+id/iv"android:layout_width="50dp"android:layout_height="50dp"android:src="@drawable/ic_launcher"/><TextView android:id="@+id/tv"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="24sp"android:padding="10dp"android:text="自定义对话框"/>

具体内容布局:content_layout.xml:

<EditTextandroid:id="@+id/tv2"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入用户名"android:background="@drawable/content_shape"android:textSize="20sp"/>
<EditTextandroid:id="@+id/tv3"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入密码"android:background="@drawable/content_shape"android:layout_marginTop="10dp"android:inputType="textPassword"android:textSize="20sp"/>

其中的背景边框也是自己设计的,通过在res文件夹下创建一个名为drawable的folder文件,然后在其中添加一个content.shape.xml文件,注意添加时需要选中shape选项

    <!--圆角 --><corners android:radius="10dp"/><!--描边  --><stroke android:width="1dp"android:color="#ff3366"/>
</shape>

MainActivity.java中:

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void showDialog(View view){AlertDialog.Builder builder = new AlertDialog.Builder(this);View customTitleView = getLayoutInflater().inflate(R.layout.title_layout, null);builder.setCustomTitle(customTitleView);View contentView = getLayoutInflater().inflate(R.layout.content_layout, null);builder.setView(contentView);builder.setCancelable(true);builder.setPositiveButton("确定", null).setNegativeButton("取消", null);builder.create().show();}
}

转载于:https://www.cnblogs.com/SanguineBoy/p/9805265.html

AlertDialog和自定义对话框相关推荐

  1. android 之Dialog的多种Dialog对话框(以及反射在自定义对话框的运用)

    实际效果: 实例代码: 一个"启动初始Activity.xml" 一个弹出的Activity 业务逻辑代码: package com.hsj.example.alertdialog ...

  2. AlertDialog实现提示框初体验+自定义对话框

    一共五个部分: 1.确认对话框 2.单选对话框 3.多选对话框 4.列表对话框 5.自定义对话框 目录结构: MainActivity.class package com.superxingyun.d ...

  3. androidsettitle方法_Android使用setCustomTitle()方法自定义对话框标题

    Android有自带的对话框标题,但是不太美观,如果要给弹出的对话框设置一个自定义的标题,使用AlertDialog.Builder的setCustomTitle()方法非常方便,接下来通过本文给大家 ...

  4. 如何在android中创建自定义对话框?

    本文翻译自:How to create a Custom Dialog box in android? I want to create a custom dialog box like below ...

  5. Android实例-手机安全卫士(十一)-自定义对话框点击事件处理

    一.目标 在弹出的自定义对话框中,当点击"确认"时,保存密码,关闭对话框:当点击"取消"时关闭对话框.同时,如果不输入密码或输入密码错误则弹出相应的提示. 二. ...

  6. Android开发学习笔记-自定义对话框

    系统默认的对话框只能显示简单的标题内容以及按钮,而如果想要多现实其他内容则就需要自定义对话框,下面是自定义对话框的方法. 1.先定义对话框的模版 <?xml version="1.0& ...

  7. alert获取输入框内容_获取由 AlertDialog 生成的对话框中EditText的文本内容

    在Android开发中,AlertDialog常用于处理用户的登录等.那么如何获取由 AlertDialog 生成的对话框中EditText的文本内容呢? 其实Alertdialog弹出的Activi ...

  8. Android开发笔记(六十六)自定义对话框

    AlertDialog Android中最常用的对话框是AlertDialog,它可以完成常见的交互操作,如提示.确认.选择等等,然后就是进度对话框ProgressDialog(参见< Andr ...

  9. android自定义对话框_Android自定义提醒对话框

    android自定义对话框 In this tutorial, we'll be discussing and implementing Custom Alert Dialogs in our And ...

最新文章

  1. 逻辑覆盖测试(三)条件覆盖
  2. 乾坤符和鸿蒙符,少年三国志四种暗金兵符技能怎么样 四种暗金兵符技能分析...
  3. node.js入门 - 2.创建一个简单聊天室
  4. 学python还是go会php_现在想再学习一门编程语言,应该选择go还是python?
  5. oracle数据文件移动方法
  6. linux自动化安装oracle,ftp的客户端软件 Linux环境一键自动化安装oracle软件的构想(附she...
  7. 计算机网络【五】广播通信+以太网
  8. 字符串、字符数组、字符串数组
  9. pppoe linux 配置文件,linux PPPOE服务端配置
  10. Spring —— context:property-placeholder/元素
  11. xshell 常用配置_Xshell连接报Connection closed by foreign host错误的解决办法
  12. python批量修改文件名_python实现批量改文件名称的方法
  13. 【抄】更改eclipse配置
  14. srgan要训练多久_SRGAN-超分辨率图像复原
  15. 云ecs服务器自动重启,云服务器需要定时重启吗?服务器进行重启的原因是什么?...
  16. python 坦克大战
  17. 规则引擎drools教程一
  18. 元素周期表Mac动态桌面壁纸
  19. 【Matlab绘图】plot3函数绘制三维点或线图
  20. XML学习记录(归纳总结,方便查看)

热门文章

  1. 【Python】【函数式编程】
  2. 国内外免费PHP开源建站程序
  3. leetcode-【中等题】5. Longest Palindromic Substring
  4. java正则表示判断。是否以某个关键字结尾的
  5. Java异步执行多个HTTP请求的例子(需要apache http类库)
  6. powerdesigner显示列描述信息
  7. How To Open An URL In Android’s Web Browser
  8. 把自己的思想记录下来
  9. 用扫描的方式实现Rosenfeld and Pfaltz提出的距离变换!
  10. jdbc mysql参数_Mysql JDBC URL中的重要参数有啊些