http://blog.csdn.net/pochuanpiao/archive/2011/04/28/6370573.aspx
目前学习到的android有三种方式弹出对话框:
1、AlertDialog
AlertDialog是非阻塞的,简单的记录一下创建的代码:
AlertDialog.Builder builder;
AlertDialog alertDialog;
Context mContext = getApplicationContext(); //mContext不可用 this.getContext()也行
builder = new AlertDialog.Builder(mContext);
builder.setTitle("测试菜单");
//builder.setView(view);
alertDialog = builder.create();
alertDialog.show();
new AlertDialog.Builder所需要的参数,经过测试和网上查找,发现是要Activity才可以的
所以最后方式了这种方式
2、PopupWindow
PopupWindow是阻塞的对话框,基本上满足要求,但是最后获取焦点,
进行onkey事件还是遇到了很多的问题。奇怪,还是把部分代码贴出来:
//创建PopupWindow
Context mContext = getApplicationContext();
LayoutInflater mflayout = getLayoutInflater();
View view = mflayout.inflate(R.layout.popupwindow, null);
PopupWindow mPopupWindow = new PopupWindow(view,
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
//mPopupWindow.setBackgroundDrawable(null);
//mPopupWindow.setFocusable(true); //获得焦点
//不知道为什么,最后还是不响应onkey事件,用下面的方法可以
view.setFocusableInTouchMode(true);//view是创建pop的子view
view.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
return false;
}
});
3、采用service上面,通过intent,弹出一个Activity菜单
这个也是我所使用的办法,直接上参考代码吧:
<activity android:name="MainActivity" android:theme="@android:style/Theme.Dialog">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Context mContext = getApplicationContext();
Intent activityIntent = new Intent(mContext, MainActivity.class);
activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//activityIntent.putExtra("mCurKeyboard", mCurKeyboard);
Bundle mBundle = new Bundle();
mBundle.putInt("mCurKeyboard", 1);
activityIntent.putExtras(mBundle);
mContext.startActivity(activityIntent);
只是简单的一个思路,具体的细节,在实现的时候可以上网看看例子。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pochuanpiao/archive/2011/04/28/6370573.aspx
分享到:
相关推荐
在给定的标题“Android弹出对话框”中,我们可以理解这是关于如何在Android环境中创建和使用对话框的教程。描述提到的“完整的代码”涵盖了多选、单选和登录验证等不同类型的对话框功能,这将涉及到Android SDK中的...
对于弹出对话框,这意味着组件需要在iOS和Android上展示一致的外观和交互行为,这可能需要使用条件渲染和平台特定的样式。 3. **样式和布局**:在React Native中,样式通常是通过JavaScript对象定义的,可以实现...
"Android底部弹出对话框"是一个常见的交互模式,通常用于展示附加信息或者提供操作选项。本项目着重讲解如何在Android应用程序中实现这种功能。 首先,我们从样式(styles.xml)文件入手。在Android中,我们可以...
Android管理信息系统: 包括SQLite 数据库的增删改查,ListView的刷新,弹出对话框提示操作 ListView列表的优化 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间...
在Android开发中,全局弹出对话框是一种常见需求,特别是在某些特定场景下,如通知用户、请求确认或显示重要信息。然而,为了实现全局对话框,开发者需要掌握一种特殊的权限,即`SYSTEM_ALERT_WINDOW`权限。这个权限...
在Android应用开发中,对话框(Dialog)是一种重要的交互元素,用于向用户显示临时信息或者进行简单的用户交互。本文将详细介绍标题中提到的8种常用Android对话框,并提供相关的编程知识点。 1. **简单对话框...
该资源为本人编写的Android自定义由底部弹出对话框项目,具体描述可查看本人博客《Android安卓自定义由底部弹出对话框》:(开发中遇到一个日期选择器的需求,就是界面中有两段文本显示日期,点击之后从底部弹出日期...
为了使`Activity`像弹出对话框一样显示,我们需要设置合适的窗口属性。在`PopupActivity`的`onCreate()`方法中添加以下代码: ```java getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, ...
在Android应用开发中,"列表长按,弹出对话框按钮"是一个常见的交互设计,它提高了用户对数据操作的便捷性。在这个场景中,当用户在列表视图中长按某一项时,会触发一个对话框,对话框内通常包含一系列可供选择的...
在React Native开发中,弹出对话框是一种常用的交互方式,用于向用户展示警告、确认信息或者获取用户输入等。在Android平台上,由于React Native的跨平台特性,它提供了与原生对话框相似的功能,使应用在不同设备上...
总结来说,要在Android Service中弹出对话框,需要创建一个兼容Service的Context,使用新线程或Handler来显示Dialog,并根据Service的生命周期进行适当的管理。对于复杂的需求,可以考虑使用DialogFragment。同时,...
在Android应用开发中,有时我们不希望第三方应用如iOS或QQ等在我们的应用运行时弹出对话框,干扰用户体验。这个“android防ios和qq弹出对话框”工具类就是为了应对这种需求而设计的。它提供了防止外部对话框突然出现...
编写一个程序,按下按钮后间隔3秒自动弹出一个Toast显示当前时间,按返回时有弹出对话框提示是否退出程序,按确认后退出程序 这是android studio文档,eclipse只需要借鉴代码复制粘贴即可
在Android开发中,自定义弹出对话框是创建用户交互界面的一种常见方法,它能够提供比系统默认对话框更多的灵活性和个性化设计。本教程将深入探讨如何在Android中实现自定义对话框,包括布局设计、类创建以及显示...
本项目以"基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框"为主题,旨在帮助开发者了解如何利用RecyclerView构建类似微信的聊天体验,并实现长按菜单功能。 首先,我们需要理解RecyclerView...
在处理点击事件时,可以使用`OnNavigationItemSelectedListener`监听用户的选择,并根据需求弹出对话框或执行其他操作。这些组件和方法构成了Android开发中实现侧滑菜单的基本框架,为用户提供了一种直观的导航方式...
在软件开发中,点击按钮弹出对话框是一种常见的交互方式,用于向用户展示信息、获取输入或进行确认操作。对话框通常分为模态和非模态两种类型,模态对话框会阻塞用户对主窗口的操作,直到对话框关闭;而非模态对话框...
`BottomSheetDialogFragment`是Android Support Library中的一个组件,它可以方便地集成到项目中,提供基本的底部弹出对话框功能。而自定义布局则允许开发者根据需求定制对话框的样式和内容。 以下是使用`...
为了实现弹出对话框的效果,我们可以使用AlertDialog.Builder或者自定义布局的DialogFragment。在布局文件中,包含SurfaceView,并在弹出对话框时设置MediaPlayer的播放。 ```java AlertDialog.Builder builder = ...