- 浏览: 707487 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
葫芦瓢:
葫芦瓢 写道专注IT 写道请问楼主demo中为什么是Custo ...
Android Scroller简单用法 -
葫芦瓢:
专注IT 写道请问楼主demo中为什么是CustomView中 ...
Android Scroller简单用法 -
u011493452:
注册账号给楼主点赞!
Android Scroller简单用法 -
jiduoduo:
整理的不错!
Android文件存储 -
xiaofeng0817166:
http://deerchao.net/tutorials/r ...
Java正则表达式应用
Android Dev-Guide 推荐重写Activity.onCreateDialog()方法来创建Dialog,这样Dialog就归属于这个Activity了。使用方法是这样的,Activity.showDialog()激发Activity.onCreateDialog()创建Dialog,然后显示之,便于多个Dialog的统一管理。注意,以后再用Activity.showDialog()显示同一个Dialog时,则不会调用Activity.onCreateDialog(),而是调用Activity.onPrepareDialog(),使用上一次显示Dialog时的状态。即
第一次:showDialog() -> onCreatedialog()
以后: showDialog() -> onPrepareDialog()
在示例代码中,分别用createExitDialog(),createListDialog(),createRadioDialog(),createCheckboxDialog(),创建4种Dialog,并在Activity中显示。示例代码如下:
package com.ipjmc.dialog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.util.Log; import android.widget.Toast; public class ShowDialogActivity extends Activity { /** Called when the activity is first created. */ public static final String TAG = "ShowDialog"; public static final int ID_EXIT_DIALOG = 1; public static final int ID_LIST_DIALOG = 2; public static final int ID_RADIO_DIALOG = 3; public static final int ID_CHECKBOX_DIALOG = 4; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); showDialog(ID_EXIT_DIALOG); showDialog(ID_LIST_DIALOG); showDialog(ID_RADIO_DIALOG); showDialog(ID_CHECKBOX_DIALOG); } @Override protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub Dialog dialog = null; switch(id) { case ID_EXIT_DIALOG : dialog = createExitDialog(); break; case ID_LIST_DIALOG : dialog = createListDialog(); break; case ID_RADIO_DIALOG : dialog = createRadioDialog(); break; case ID_CHECKBOX_DIALOG : dialog = createCheckboxDialog(); break; default : break; } if (dialog != null) { Log.i(TAG, dialog.toString()); } else { Log.i(TAG, "dialog = null"); } return dialog; } @Override protected void onPrepareDialog(int id, Dialog dialog) { // TODO Auto-generated method stub super.onPrepareDialog(id, dialog); } //创建简单Dialog public Dialog createExitDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure you want to exit?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { ShowDialogActivity.this.finish(); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); return builder.create(); } //创建ListDialog public Dialog createListDialog() { final CharSequence[] items = {"Red", "Green", "Blue"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Pick a color"); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show(); } }); return builder.create(); } //创建单选Dialog public Dialog createRadioDialog() { final CharSequence[] items = {"Red", "Green", "Blue"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Pick a color"); builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int position) { Toast.makeText(getApplicationContext(), position + " -> " + items[position], Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); return builder.create(); } //创建多选Dialog public Dialog createCheckboxDialog() { final CharSequence[] items = {"Red", "Green", "Blue"}; final boolean [] checked = new boolean [] {false, false, false}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Pick a color"); builder.setMultiChoiceItems(items, checked, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { ShowDialogActivity.this.finish(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); return builder.create(); } }
评论
2 楼
yourancao520
2012-10-08
好文章 ,学习了。
1 楼
yinIdiots11
2012-04-20
初学者 开始没想到 showDialog(id)能直接调用oncreate()函数 一直纳闷id怎么用的问题 ,看此文后 豁然开朗
发表评论
-
Android Notification的使用
2012-10-20 19:28 9777Android 4.1 (Jelly Bean ... -
短信拦截
2012-09-25 20:40 2091最近写一个应用(A),需要拦截短信分析。一般是 ... -
Android Scroller简单用法
2012-08-01 16:35 65890Android里Scroller类是为了实现Vi ... -
Android 使用WebView.loadData中文乱码解决办法
2012-07-19 15:09 9600博主在使用WebView的loadData方法时发 ... -
Android HttpClient基本使用方法
2012-07-05 14:15 107899这里只介绍如何使用HttpClient发起GET或者POST请 ... -
Android XML定义颜色
2012-06-09 13:15 0在res/colors.xml中添加如下代码: 定义C ... -
Activity和Task的设计思路和方法
2012-03-29 20:20 1258Activity和 Task是 Android ... -
显示PopupWindow
2012-03-16 10:04 16678PopupWindow可 ... -
存储文件的ContentProvider
2012-03-08 23:37 9412基于SQLite的ContentProvider ... -
Android文件存储
2012-03-08 22:34 19477Internal Storage内部存储空 ... -
Android 使用Notification
2012-03-07 10:26 2244用惯了Android的人在刚拿到iPhone的 ... -
Android用软键盘将整个界面推上去
2012-03-04 17:11 35905在Android UI中 ... -
onInterceptTouchEvent和onTouchEvent调用时序
2012-02-11 23:42 1072onInterceptTouchEvent() ... -
使用ConnectivityManager监听网络状态变化
2011-12-24 11:16 29857mIntenFilter = new IntentFilte ... -
Window Manager
2012-03-22 23:51 1558Android的窗口机制基于WindowManager,可以通 ... -
CommonsWare Android Components
2011-12-17 16:10 1766CommonsWare Android Com ... -
Android中图片缩放
2011-12-17 00:09 1931下载的图片如果过大,可能导致内存溢出。需要做压 ... -
Android 使用Parcelable序列化对象
2011-12-16 23:43 36603Android序列化对象主要有两种方法,实现S ... -
PreferenceActivity
2011-12-12 22:54 922传送门:http://www.cnblogs.com/wser ... -
View.scrollBy()与View.scrollTo()的使用
2011-12-12 22:40 19612scrollTo()和scrollBy()都是V ...
相关推荐
在Android开发中,`Dialog样式的Activity`是一种特殊类型的用户界面,它呈现为一个浮动的窗口,通常用于向用户展示一些重要信息或者进行简单的交互操作,而不会完全占据整个屏幕。这种方式可以使得用户在执行主要...
在Android开发中,`dialog效果的activity`是一种常见的设计模式,它允许开发者将对话框(Dialog)的功能集成到一个独立的Activity中,从而实现更好的代码复用和模块化。这样的设计能够将对话框的逻辑与主Activity的...
3. **Samples**:这是示例代码的目录,开发者可以参考这些示例了解如何在自己的项目中使用ActivityDialog控件,包括如何在界面上添加、配置以及如何响应其事件。 4. **Design**:这个目录通常包含设计时的支持文件...
AlertDialog通常用于展示简短的信息,可包含一个或多个按钮;ProgressDialog用于显示加载进度;而DatePickerDialog和TimePickerDialog则让用户选择日期和时间。 正确使用Dialog的第一步是理解其生命周期。Dialog的...
在Dialog的父类中有一个名为`mShowing`的布尔型变量,这个变量控制着Dialog是否显示。通过反射,我们可以访问并修改这个变量的值,从而达到控制Dialog关闭与否的目的。 首先,我们需要获取到Dialog的`mShowing`字段...
综上所述,"DialogActivity.zip"项目涵盖了Android开发中的多个重要技术,包括自定义对话框的实现、WiFi功能的集成以及滑动菜单的使用。对于想要深入学习Android应用开发,特别是系统级功能集成和用户体验设计的...
一个Activity可以包含多个Fragment,并通过FragmentManager进行管理。 Dialog与Fragment的结合使用,可以在不创建新的Activity的情况下,为用户提供更丰富的交互体验。例如,可以通过Fragment来实现一个复杂的功能...
本文将详细讲解如何实现一个带有两个按钮的自定义Dialog,并结合"DefinedDialog"这个压缩包文件中的内容,提供具体的步骤和代码示例。 一、自定义Dialog的基本结构 自定义Dialog通常涉及以下组件: 1. Dialog类:...
在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...
例如,在一个对话框中让用户从多个选项中选择。 - 为了实现这个功能,需要在`Dialog`的布局文件中添加`Spinner`元素,并在`Dialog`的代码中设置适配器和监听器。 - 当`Dialog`关闭时,确保所有与`Spinner`相关的...
5. **在Activity中使用自定义Dialog**: 在需要显示加载Dialog的地方,实例化我们的自定义Dialog类,并调用`show()`方法。完成加载后,调用`dismiss()`方法关闭Dialog。 通过以上步骤,我们就能实现一个具有自定义...
- 在异步操作中使用Dialog时,需要注意避免内存泄漏,确保在合适的时候调用`dismiss()`关闭Dialog。 - 对于Android版本兼容性问题,可能需要使用Support Library或AndroidX库来创建Dialog。 总之,Dialog在...
可以在XML资源文件中定义一个新的主题,然后在创建Dialog时应用。例如,你可以改变对话框的背景颜色、文字颜色等。 ```xml <style name="CustomDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert"> ...
接口回调是一种简单的方法,需要在DialogFragment和Activity之间定义一个接口,当滑动条的值变化时,调用接口方法将值传递给Activity。EventBus则是另一种解耦的方式,滑动条控件发布事件,Activity订阅并处理这个...
首先,我们关注的是如何在Android中创建一个自定义的Dialog。在Android Studio中,开发者通常会继承`AppCompatActivity`或`FragmentActivity`来创建Activity,而对于Dialog,我们可以继承`DialogFragment`。`...
本篇将详细讲解如何在Android中使用AlertDialog,以及相关的知识点。 首先,我们需要了解AlertDialog的基本结构。AlertDialog通常包含一个标题(Title)、一个消息文本(Message)和一组按钮,如“确定”、“取消”...
在Android中,我们可以使用AlertDialog.Builder来创建一个单选对话框。首先,我们需要创建一个包含所有选项的数组或List,并通过setSingleChoiceItems()方法将它们添加到Builder中。然后,设置一个...
- Dialog是Android中的一个窗口,它浮在Activity之上,用于向用户展示信息或获取用户输入。通常,Dialog包括标题、内容区域和按钮。 - 默认的Dialog样式可能无法满足所有设计需求,因此开发者常常需要自定义Dialog...
在Android中,我们可以使用`AlertDialog.Builder`来创建一个基本的Dialog,并通过调用`setTitle()`, `setMessage()`, `setPositiveButton()`等方法设置Dialog的属性。然而,这些方法只能满足简单的配置,对于更复杂...
本教程将探讨如何在Android中自定义一个美观的Dialog,并在其内部嵌入一个ListView,以便展示更多信息。这个自定义Dialog可以用于显示一系列可选项目,用户可以通过点击ListView中的条目来进行交互。 首先,我们...