热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android中Dialog的用法介绍

Dialog是android开发过程中最常用到的组件之一,它包括以下几种类型:1、警告对话框:Alertialoghttp:blog.csdn.netu013985004arti

Dialog是android开发过程中最常用到的组件之一,它包括以下几种类型:

1、警告对话框:Alertialog

http://blog.csdn.net/u013985004/article/details/25601833


2、进度对话框:ProgressDialog

http://blog.csdn.net/u013985004/article/details/25619129


3、日期选择对话框:DatePickerDialog

4、时间选择对话框:TimePickerDialog

http://blog.csdn.net/u013985004/article/details/25625565


5、自定义Dialog

我们用的最多的就是自定义的Dialog,简单介绍一下:


自己随便做的样式不好看

(1)首先我们要定义自己的布局dialog.xml


android:layout_
android:layout_
android:orientation="vertical"
android:padding="20dp" >
android:layout_
android:layout_
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="我是自定义Dialog"
android:textSize="20sp" />
android:id="@+id/tv_content"
android:layout_
android:layout_
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:text="内容" />
android:layout_
android:layout_ >
android:id="@+id/b_sure"
android:layout_
android:layout_
android:text="确定" />
android:id="@+id/b_cancel"
android:layout_
android:layout_
android:text="取消" />


(2)定义自己的Dialog

public Dialog mDialog(Activity activity, String content,
OnClickListener[] listeners) {
// 这里是Dialog的样式可以使用自带的,这里我使用自定义的
final Dialog lDialog = new Dialog(activity, R.style.MyDialogStyleFull);
lDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
lDialog.setContentView(R.layout.dialog);
TextView tvCOntent= (TextView) lDialog.findViewById(R.id.tv_content);
tvContent.setText(content);
Button b_cancel = (Button) lDialog.findViewById(R.id.b_cancel);
Button b_sure = (Button) lDialog.findViewById(R.id.b_sure);
if (listeners != null) {
if (listeners.length > 0)
b_cancel.setOnClickListener(listeners[0]);
if (listeners.length > 1)
b_sure.setOnClickListener(listeners[1]);
}
lDialog.show();
return lDialog;
}

(3)定义自己的Dialog样式,在styles中添加




动画效果的实现

需要在res下面建文件夹anim,然后在下面新建动画效果:

进来的动画alpha_translate_in.xml


android:shareInterpolator="false" >
android:duration="200"
android:fromAlpha="0.0"
android:interpolator="@android:res/anim/accelerate_decelerate_interpolator"
android:repeatCount="0"
android:toAlpha="1.0" >

android:duration="200"
android:fromYDelta="100%"
android:toYDelta="0" />

出去的动画alpha_translate_out.xml


android:shareInterpolator="false" >
android:duration="200"
android:fromAlpha="1.0"
android:interpolator="@android:res/anim/accelerate_decelerate_interpolator"
android:repeatCount="0"
android:toAlpha="0.0" >

android:duration="200"
android:fromYDelta="0"
android:toYDelta="100%" />

(4)使用我们上面定义好的Dialog,如果有多个地方使用,可以定义一个工具类,把这个定义为静态方法,可以随时调用

private Dialog dialog;  //定义一个全局的Dialog

OnClickListener okListener = new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "点击确定按钮",Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
};
OnClickListener cancelListener = new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
}; //首先定义两个监听,用于监听Dialog的按钮
dialog = mDialog(MainActivity.this, "这个自定义Dialog的内容",
new OnClickListener[] { cancelListener, okListener });//生成Dialog
dialog.setCancelable(false); //设置Dialog点击其他地方以及返回键,是否消失


这里是自定义的Dialog,现在用的最多的就是自定义的,如果要了解其他的可以点击上面的链接。。。



推荐阅读
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • 为了优化直播应用底部聊天框的弹出机制,确保在不同设备上的布局稳定性和兼容性,特别是在配备虚拟按键的设备上,我们对用户交互流程进行了调整。首次打开应用时,需先点击首个输入框以准确获取键盘高度,避免直接点击第二个输入框导致的整体布局挤压问题。此优化通过调整 `activity_main.xml` 布局文件实现,确保了更好的用户体验和界面适配。 ... [详细]
  • 深入解析 Android Drawable:第六阶段进阶指南 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • Android 图像色彩处理技术详解
    本文详细探讨了 Android 平台上的图像色彩处理技术,重点介绍了如何通过模仿美图秀秀的交互方式,利用 SeekBar 实现对图片颜色的精细调整。文章展示了具体的布局设计和代码实现,帮助开发者更好地理解和应用图像处理技术。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 深入解析 Android 选择器与形状绘制技术
    本文深入探讨了 Android 中选择器(Selector)与形状绘制(Shape Drawing)技术的应用与实现。重点分析了 `Selector` 的 `item` 元素,其中包括 `android:drawable` 属性的使用方法及其在不同状态下的表现。此外,还详细介绍了如何通过 XML 定义复杂的形状和渐变效果,以提升 UI 设计的灵活性和美观性。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
author-avatar
妞妞的豆皮皮_626
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有