- 浏览: 586270 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (182)
- android/ophone开发完全讲义 (4)
- android常用代码 (6)
- android工具 (9)
- android基础 (40)
- android进阶 (75)
- android经验记录 (3)
- android框架 (2)
- android面经 (5)
- android网络 (5)
- android资讯 (0)
- android资源 (17)
- 生活印象 (3)
- androidNDK (4)
- android开源 (1)
- android性能优化 (1)
- android设计 (2)
- android博客论坛收集 (1)
- android手机用户体验 (1)
- android动画 (1)
- android外文资料 (1)
- 汉字排序 (1)
最新评论
-
小猫咪201:
困惑了很久,终于找到答案了
一个常见的android内存泄露 问题 -
王雪龙:
pixels = dps * (density / 160). ...
关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi -
Turr:
楼主给力,解决了我遇到的问题
解决ActivityGroup的sub Activity中spinner的WindowManager$BadTokenException的问题 -
boyuan2000cn:
你好,我转载了您的此篇博客,如果有版权问题,请告诉我,谢谢!转 ...
关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi -
twlkyao:
请教您个问题,如何将drawable对象转换为id类型?
Android中Bitmap, Drawable, Byte,ID之间的转化
Android中的弹出框在被点击时, 无论点击哪个按钮都会关闭窗口。 但是有的情况下我们不需要立即关闭窗口。下面的情况是弹出框中要求用户输入文件名, 并在点击确定时检查文件名的合法性, 不合法则提示用户重新输入, 弹出框要保持在界面上。 点击取消时弹出框消失。 这里通过对控件的反射来实现:
/**our button handler**/
private ButtonHandler bHandler;
//pop up dialog with own button handler
private void popUpDialog(AlertDialog dialog) {
/*
* alert dialog's default handler will always close dialog whenever user
* clicks on which button. we have to replace default handler with our
* own handler for blocking close action.
* Reflection helps a lot.
*/
try {
Field field = dialog.getClass().getDeclaredField("mAlert");
field.setAccessible(true);
//retrieve mAlert value
Object obj = field.get(dialog);
field = obj.getClass().getDeclaredField("mHandler");
field.setAccessible(true);
//replace mHandler with our own handler
field.set(obj, bHandler);
} catch (SecurityException e) {
Debug.error(e.getMessage());
} catch (NoSuchFieldException e) {
Debug.error(e.getMessage());
} catch (IllegalArgumentException e) {
Debug.error(e.getMessage());
} catch (IllegalAccessException e) {
Debug.error(e.getMessage());
}
//we can show this dialog now.
dialog.show();
}
/*
* define our own button handler, do not deal with dismiss message.
*/
class ButtonHandler extends Handler {
private WeakReference<DialogInterface> mDialog;
public ButtonHandler(DialogInterface dialog) {
mDialog = new WeakReference<DialogInterface>(dialog);
}
public void handleMessage(Message msg) {
switch (msg.what) {
case DialogInterface.BUTTON_POSITIVE:
case DialogInterface.BUTTON_NEGATIVE:
case DialogInterface.BUTTON_NEUTRAL:
((DialogInterface.OnClickListener) msg.obj).onClick(mDialog
.get(), msg.what);
break ;
}
}
}
然后创建一个AlertDialog时如下去调用:
//create dialog
mDialog = new AlertDialog.Builder(mContext)
.setView(selectImageView)
.setNegativeButton(android.R.string.cancel, mOnDialogClickListener)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
//check input file name
if (isValidFileName(fileNameInput.getText().toString())) {
String fileName = fileNameInput.getText().toString().trim();
mediaList.get(0).setName(fileName);
saveMedia(mediaList);
dialog.dismiss();
} else {
Toast.makeText(mContext, R.string.invalid_file_name, 1500).show();
}
}
}).create();
mOnDialogClickListener用来处理关闭窗口事件:
/*
* cancel dialog listener
*/
OnClickListener mOnDialogClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int buttonId) {
switch (buttonId) {
case DialogInterface.BUTTON_NEGATIVE:
dialog.dismiss();
break;
case DialogInterface.BUTTON_POSITIVE:
break;
}
}
};
发表评论
-
Android 检查当前是否已经连接上 Internet
2012-02-27 09:28 1java代码: 1 ConnectivityManager ... -
对ContentProvider中getType(Uri uri)和android.intent.category.DEFAULT的理解
2012-02-27 09:21 1635学习了ContentProvider,想做个通讯录,结果 ... -
Android ContentProvider的介绍(很详细)
2012-02-21 17:46 139686一、ContentProvider的概念 Content ... -
一个常见的android内存泄露 问题
2012-02-20 16:11 4944最近在公司看一个算比较大的android项目的源码, ... -
一个常见的android内存泄露 问题
2012-02-20 16:10 0最近在公司看一个算比较大的android项目的源码,发 ... -
Android网络电台的一种实现方案
2012-02-20 15:12 3679随着电子产品的飞速 ... -
NotificationManager和Notification的使用总结
2012-02-16 15:55 1141这几天一直在修改twigee的源代码,其中一个要加入的 ... -
android 如何判断程序是否在前台运行
2012-02-16 15:31 5456private boolean isTopActivit ... -
Android Intent和PendingIntent的区别详细分析
2012-02-16 14:08 1569刚才一个例子中用到了PendingIntent,与之前学过的I ... -
编码问题(UTF-8、gb2312、unicode)
2012-02-14 09:38 1958相信大家很多人跟我一样,对于编码一直感觉云山雾罩,说知道吧?就 ... -
关于androidSDK登录时出现oauth2.0空白页的BUG
2012-02-09 16:21 1428在RenrenListenerFactory中,line 12 ... -
java中yield(),sleep()以及wait()的区别
2012-01-31 18:41 959往往混淆了这三个函数的使用。 从操作系统的角度讲, ... -
Toast大全(五种情形)建立属于你自己的Toast
2012-01-29 17:23 1594Toast用于向用户显示一些帮助/提示。下面我做了5中效果 ... -
Android主流屏幕分辨率介绍
2012-01-18 14:45 1421对于Android游戏开发我们不得不像iPhone那样思 ... -
关于混淆外包jar包出错的解决方法
2012-01-18 11:30 1797-optimizationpasses 5-do ... -
新浪微博SDK
2011-12-28 16:38 1198DEMO程序:http://code.google.co ... -
Android中自定义Dialog外形,去除黑底和白色边框
2011-12-08 16:29 7472在做Android开发中经常会使用到自定义样式的Dialo ... -
汉字排序
2011-12-07 09:44 1096Comparator comparator = Coll ... -
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
2011-11-29 19:29 13647在Android中,TextView是我们最常用的用来显示文本 ... -
屏幕分辨率适配
2011-10-19 18:55 3140屏幕分辨率:1024x600 d ...
相关推荐
在Android开发中,为了提供更好的用户体验,我们常常需要自定义弹出框来替代系统默认的对话框。这个“Android自定义弹出框实现(修改版)完整实例源码”就是一个很好的示例,它展示了如何根据自己的需求设计和构建...
一个用于控制弹出框从无到有平滑出现,另一个则相反,让弹出框平滑消失。在动画过程中,我们可以改变PopupWindow的宽度、高度或透明度来实现不同的动画效果。 4. **监听器**:为动画设置开始和结束监听器,以便在...
在Android应用开发中,创建一个类似QQ的底部弹出框选择头像的功能涉及到多个关键知识点。这个功能允许用户选择头像,既可以打开相机拍摄新照片,也可以从本地图库选取已有图片,并提供图像剪切功能以调整图片大小。...
android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android...
做项目时,感觉android自带的弹出框样式比较丑,很多应用都是自己做的弹出框,这里也试着自己做了一个。 废话不说先上图片: 实现机制 1.先自定义一个弹出框的样式 2.自己实现CustomDialog类,继承自Dialog,实现...
在Android开发中,自定义弹出框是一种常见的需求,它能提供更加个性化和与应用风格一致的用户体验。本文将深入探讨如何在Android中实现自定义弹出框,并以"CustomDialog"为例,介绍其实现过程。 首先,Android系统...
本篇将详细介绍如何在用户点击`ListView`时弹出一个包含`PopupWindow`的弹出框,并且这个`PopupWindow`内还具有`ListView`的右滑删除功能。 首先,我们需要创建`PopupWindow`。`PopupWindow`的构造函数通常接收三个...
在Android开发中,为了提供与iOS相似的用户体验,开发者有时会尝试模仿iOS的某些界面元素,比如弹出框效果。这个“android 仿iOS弹出框效果demo”就是这样一个示例,它展示了如何在Android平台上实现类似iOS的对话框...
本教程将详细讲解如何在Android应用中实现长按View弹出选项框的功能。 首先,你需要创建一个`PopupMenu`对象。`PopupMenu`类是Android SDK提供的用于创建弹出菜单的工具。在长按事件的监听器中实例化这个对象: ``...
在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...
本教程将聚焦于如何在Android应用中实现一个自定义的弹出多选框,并实现全选功能。这个自定义组件可以用于让用户在一组选项中进行多项选择,如设置、过滤等场景。 首先,我们需要创建一个新的布局文件来设计多选框...
在Android应用开发中,创建一个高仿微信朋友圈点赞和评论的弹出框效果是一个常见的需求。这个Demo就是针对这一需求,通过自定义`PopupWindow`实现的。`PopupWindow`是Android系统提供的一种轻量级的弹出对话框,它...
在ActionSheetDemo中,弹出框的出现和消失可能需要用到动画效果,如淡入淡出、平移或缩放。这需要掌握`ObjectAnimator`、`ValueAnimator`或者`Animation`类的使用,通过这些工具可以实现各种复杂的动画效果。 此外...
Android PackageManager 有很多方法是没有暴漏出来的,我们如果想调用的话需要用Java反射。android_dependency.jar 提供了反射调用相关的class定义,直接放到你的工程libs目录下面,然后就可以进行反射调用...
本文将深入探讨如何在Android平台上实现底部弹出的iOS7风格对话框,以及如何将提供的库文件资源集成到自己的项目中。 首先,iOS7风格对话框的特点在于其简洁的设计和半透明的效果,通常用于显示一些临时信息或简单...
如果你希望菜单有动画效果,可以添加动画库,如`androidx.core:core-animate:1.1.0`,然后使用`TranslationAnimation`或`SlideTransition`进行平滑的弹出和消失。 另外,为了实现点击菜单项后的操作,你需要在`...
首先,我们需要创建一个自定义 DialogFragment,它是Android框架提供的一个类,可以方便地创建和管理弹出对话框。在DialogFragment中,我们可以定义布局文件,该布局文件将包含我们的日期和时间选择器组件。通常,...
在Android开发中,有时我们需要检测应用中的软键盘是否弹出,以便进行相应的界面调整或功能控制。例如,当用户打开虚拟键盘时,我们可能需要自动调整输入框的位置,或者在键盘隐藏时恢复原来的布局。标题“Android...
2. **背景暗化**:微信弹出框出现时,会将背景界面稍微变暗,以突出弹出框。这可以通过在`PopupWindow`上添加半透明背景层实现,或者在弹出时调整根布局的透明度。 3. **点击弹出框外部隐藏**:当用户点击弹出框外...