- 浏览: 703270 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
葫芦瓢:
葫芦瓢 写道专注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 9733Android 4.1 (Jelly Bean ... -
短信拦截
2012-09-25 20:40 2045最近写一个应用(A),需要拦截短信分析。一般是 ... -
Android Scroller简单用法
2012-08-01 16:35 65785Android里Scroller类是为了实现Vi ... -
Android 使用WebView.loadData中文乱码解决办法
2012-07-19 15:09 9555博主在使用WebView的loadData方法时发 ... -
Android HttpClient基本使用方法
2012-07-05 14:15 107839这里只介绍如何使用HttpClient发起GET或者POST请 ... -
Android XML定义颜色
2012-06-09 13:15 0在res/colors.xml中添加如下代码: 定义C ... -
Activity和Task的设计思路和方法
2012-03-29 20:20 1201Activity和 Task是 Android ... -
显示PopupWindow
2012-03-16 10:04 16640PopupWindow可 ... -
存储文件的ContentProvider
2012-03-08 23:37 9352基于SQLite的ContentProvider ... -
Android文件存储
2012-03-08 22:34 19371Internal Storage内部存储空 ... -
Android 使用Notification
2012-03-07 10:26 2197用惯了Android的人在刚拿到iPhone的 ... -
Android用软键盘将整个界面推上去
2012-03-04 17:11 35850在Android UI中 ... -
onInterceptTouchEvent和onTouchEvent调用时序
2012-02-11 23:42 1044onInterceptTouchEvent() ... -
使用ConnectivityManager监听网络状态变化
2011-12-24 11:16 29798mIntenFilter = new IntentFilte ... -
Window Manager
2012-03-22 23:51 1523Android的窗口机制基于WindowManager,可以通 ... -
CommonsWare Android Components
2011-12-17 16:10 1723CommonsWare Android Com ... -
Android中图片缩放
2011-12-17 00:09 1887下载的图片如果过大,可能导致内存溢出。需要做压 ... -
Android 使用Parcelable序列化对象
2011-12-16 23:43 36525Android序列化对象主要有两种方法,实现S ... -
PreferenceActivity
2011-12-12 22:54 885传送门:http://www.cnblogs.com/wser ... -
View.scrollBy()与View.scrollTo()的使用
2011-12-12 22:40 19539scrollTo()和scrollBy()都是V ...
相关推荐
我们添加的按钮不论是用setNegativeButton还是用setPositiveButton添加的按钮,点击的时候,都会关闭对话框,但是我们的一 些实际需求,就需要保留这个对话框不动,例如输入校验码,密码之类的校验问题,如果用户...
在Android中经常要使用Dialog来实现一些提示以及一些特殊的效果,而且样式也不一样,每次都得查一大堆资料,还不一定能解决。对话框是个好东西,创建简单有实用。当下的开发中,很多的开发者反而更喜欢使用activity...
有时你需要一个对话框,但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有Dialog样式的Activity来应用你的项目中,想使Activity有对话框那样效果可以在Androidmanifest中添加 Android:style/...
在博客http://blog.csdn.net/u013030399/article/details/51239536中有详细介绍,在项目开发中,经常需要在多个场景(Activity)中调用不同的侧滑菜单或窗口,我们常用的实现方式会有使用Popupwindow 和 Dialog等。...
/**多个按钮信息框 **/ private static final int DIALOG_1 = 2; /**列表框 **/ private static final int DIALOG_2 = 3; /**进度条框 **/ private static final int DIALOG_3 = 4; /**单项选择列表框 **/ ...
正常情况下我们可以直接在dialog里写上我们想要的view,但是有时候view太多的话,我们就需要自定义一个dialog,其实就是将dialog的内容替换为我们写好的layout文件。 比如我创建了一个layout文件: 效果如下: ...
很多这种类型的dialog,界面千变万化,于是我建立了一个通用自定义dialog,可以实现以下功能: 1、界面的自定义,全部自己用xml定义界面; 2、不管是在Fragment,还是Activity都可以实例化该dialog,并且实现dialog...
这个适用于自己弄个推广,或者广告,一个悬浮的对话框,并且点击下面activity 的东西,对话框不会消失.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
本文实例讲述了Android编程自定义Dialog的方法。...1. android 系统提供了一个class: Dialog. 而且你可以把自己的工作放在”protected void onCreate(Bundle savedInstanceState)” 在里面先调用系统的”
这里只是讲解单个activity中的弹窗排序,demo中还有维护多个activity 弹窗排序,详细看最下面github 做到工具组件化,不侵入原项目代码,无需继承,使用方便。 原理:当有一个dialog添加显示时,判断等级是否大于,...
本文实现了Android中dialog的3D翻转效果。这里通过一个简单的应用场景记录下。 效果图 起初自己的思路是Activity进行界面跳转实现旋转效果,网上看了很多,写下来发现效果不对。之后又看到Google上面的Card Flid ...
为了更好的使用和了解该库,推荐阅读下面的文章:Fragment全解析系列(一):那些年踩过的坑Fragment全解析系列(二):正确的使用姿势Demo演示:均为单Activity 多Fragment,第一个为简单流式demo,第二个为仿微信...
一个应用程序里面有多个activity和不同的对话框窗体,在我脑海深处的记忆力,对话框的使用一直都是new 出不同的dialog实例然后调用show 、dismiss方法,而弹出视图的控件监听很多时候都是在用CallBack回调函数处理,...
在Android开发过程中,我们有时候需要获取当前的Activity实例,比如弹出Dialog操作,必须要用到这个。关于如何实现由很多种思路,这其中有的简单,有的复杂,这里简单总结一下个人的一些经验吧。 反射 反射是我们...
下面将通过一个小实例,来像大家展示Android中功能强大的Dialog。代码都写了详细的注释,读者不妨试着手动去敲。 当然,由于时间的关系,还有个别功能没有完成,先有的几个展示效果中也可能有bug,代码也有很多需要...
在我们的日常项目中很多地方会用到对话框,但是Android系统为我们提供的对话框样子和我们精心设计的界面很不协调,在这种情况下我们想很自由的定义对话框,或者有的时候我们的对话框是一个图片,没有标题和按钮,...
底部对话框 具有多个视图的android底部对话框视图组件支持。 | 英语 介绍 BottomDialog是android的一个组件,它允许您将底部...例如,在您的activity_main.xml中,您可能具有此内容视图 < TextView android
所以说,当我们想显示一个界面的时候,我们首先想到的是建立一个Activity,然后所有的操作在Activity里面实现,或者是一个Dialog或者Toast。这种方式固然简单,但是在有些情况下,我们要求的只是简单的显示,用...
有时候我们需要在App中弹dialog,但是却不知道依附的是哪个Activity,这个时候通常会启动一个service来依附,显示一个全局的dialog。 Android 6.0出现的悬浮窗权限 为什么从6.0说起? 在Android6.0之后,使用悬浮窗...
这里没有太多的使用指南,更多是在Sample代码中体现。 若是有疑问的可随时提问,看到后就会及时处理 实现与介绍 界面 这部分包含了我在项目中所遇到的一些常见的界面结构的整理,其中Activity和Fragment都会有相匹配...