首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android:何时使用Dialog vs. Activity

在Android开发中,Dialog和Activity都可以用于与用户进行交互。但是,它们的使用场景有所不同。

Dialog通常用于以下场景:

  1. 需要与用户进行简单交互的情况,例如输入一些信息、确认操作等。
  2. 需要在当前页面上显示一些信息,但不需要跳转到另一个页面。
  3. 需要在当前页面上显示一些提示信息,例如警告、错误等。

Activity通常用于以下场景:

  1. 需要跳转到另一个页面进行操作的情况,例如登录、注册等。
  2. 需要在当前页面上显示一些复杂的信息,例如列表、图表等。
  3. 需要在当前页面上显示一些复杂的交互,例如游戏、地图等。

总的来说,Dialog和Activity都可以用于与用户进行交互,但是它们的使用场景不同。在开发过程中,开发者需要根据具体的需求选择合适的方式进行交互。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android老司机被打脸!Dialog 对应的 Context 必须是 Activity吗?

    我传入Dialog的context-直都没用activity 我:那第一个dialog的context应该是需要activity的 A:没有Activity的应用-样是可以显示Dialog的,setType...相信大家曾经都有遇到过需要在Application或者Service里弹出Dialog的情景,就算平时做的正式项目没有这种需求,那也应该在刚开始学习Android或者写Demo的时候试过。...使用Service或Application就找不到容器,换成Activity就能找到,这是为什么?...这边的各个容器的关系吧(深色箭头是extends的意思): (试了好多办法,一张完整的图都没法让大家在手机上看清,于是我干了成两半) image.png image.png 2.现在来回答第一问:为什么使用非...关于这一点,在我当时确立好Android方向时,就已经开始梳理自己的成长路线了,包括技术要怎么系统地去学习,都列得非常详细。

    4.2K00

    Android项目实战(七):Dialog主题Activity实现自定义对话框效果

    想必大家都用过Dialog主题的Activity吧,用它来显示自定义对话框效果绝对是一个非常不错的选择。...即把activity交互界面以Dialog的形式展现出来,Dialog主题的Activity大小将以内容的宽高来决定 <activity android:name=”MainActivity” android...:theme=”@android:style/Theme.Dialog”> 可以看到设置为Theme.Dialog主题的activity显示效果, 是类似对话框的形式显示出来的...那么让我们自己做一个漂亮点的对话框形式的Activity 首先,要把Activity自带的标题去掉 使用 requestWindowFeature(Window.FEATURE_NO_TITLE); 语句...android:theme=”@android:style/Theme.Dialog” 主题的Activity是方方正正的对话框样式的。

    1.6K60

    Android项目实战(七):Dialog主题Activity实现自定义对话框效果

    想必大家都用过Dialog主题的Activity吧,用它来显示自定义对话框效果绝对是一个非常不错的选择。...即把activity交互界面以Dialog的形式展现出来,Dialog主题的Activity大小将以内容的宽高来决定 <activity android:name=”MainActivity” android...:theme=”@android:style/Theme.Dialog”> 可以看到设置为Theme.Dialog主题的activity显示效果, 是类似对话框的形式显示出来的...那么让我们自己做一个漂亮点的对话框形式的Activity 首先,要把Activity自带的标题去掉 使用 requestWindowFeature(Window.FEATURE_NO_TITLE); 语句...android:theme=”@android:style/Theme.Dialog” 主题的Activity是方方正正的对话框样式的。

    3.5K80

    Android 开发之Dialog中隐藏键盘的正确使用方法

    Android 开发之Dialog中隐藏键盘的正确使用方法 场景:弹出一个Dialog,里面有一个EditText,用来输入内容,因为输入时,需要弹出键盘,所以当Dialog消失时,键盘要一起隐藏。...现在我们做一个自定义的Dialog MyDialog extends Dialog 一开始认为这个功能很容易实现,于是写了下面的代码 //Dialog的构造函数中写 this.setOnDismissListener...也就是说,你监听Cancel或者Dismiss都是不行的,因为此时Dialog已经消失,用于输入的服务窗体已经是null了,所以你要想 隐藏键盘,就需要在Dismiss之前处理,那这个入口在哪呢?...为了当点击空白处时,可以隐藏Dialog,所以我们在构造函数中加了一句话 this.setCanceledOnTouchOutside(true); 所以当我们点击空白区域时,会触发Dialog的onTouchEvent...(mCancelMessage).sendToTarget(); } dismiss(); } 这里面就会dismiss掉Dialog,所以我们发现,在dismiss前,我们根本无法干预

    2.1K10

    Android使用Activity实现简单的可输入对话框

    一开始我想到的是PopupWindow,但是由于里面有EditText,与软键盘交互起来很是头疼,于是改用了Activity。这样一来我们就可以像用Activity一样使用这个对话框,方便多了。...不过毕竟跟我们平时使用Activity还是有所不同的,特别是要设置好它的样式,否则也是一堆的坑啊。 2、对话框Activity的布局与样式 下面就来着手实现我们想要的对话框了。...|stateHidden</item //Dialog的windowFrame框为无 <item name="<em>android</em>:windowFrame" @null</item //是否显示标题...name="<em>android</em>:windowAnimationStyle" @android:style/Animation.Dialog</item //背景是否模糊显示,为false时效果为全透明...下面介绍两种方法: 3.1、使用InputMethodManager类显示软键盘 我们平时要让某个EditText获得焦点自动弹出软键盘可以这样写: InputMethodManager inputManager

    2.8K20

    从0系统学Android-2.1Activity使用

    2.2.3 在 AndroidManifest 文件注册 任何 Activity 都需要在 AndroidManifest.xml 中注册才可以使用。...除此之外,使用 android:label 属性来指定 Activity 的标题栏中的内容,标题栏是显示在 Activity 最顶部的(当然可以去掉)。...2.2.4 在 Activity使用 Toast Toast 是 Android 系统中一种非常好的提醒方式,可以将一些短小的信息通知给用户,这些信息一段时间后会自动消失,并且不会占用任何屏幕空间。...要想使用 Toast ,首先我们需要有一个触发事件。我们就设置点击按钮的时候弹出 Toast 吧。...Toast 的使用方法很简单,通过调用它的静态方法makeText 会创建一个 Toast 对象,然后调用 show 方法,展示 Toast。

    36130

    Android单一实例全局可调用网络加载弹窗

    总结一下遇到的问题: 一、dialog必须依赖activity 二、因为单例的原因,dialog只能在第一次创建单例的activity显示 三、不能使用系统级弹窗 OK,基于这些问题和要求,结合自己所掌握的知识...dialog必须依赖activity,那我就创建一个activity,专门去承载这个dialogactivity背景设置为透明,效果达到。...我既然已经创建出一个专门承载这个dialogactivity了,而且activity的死活是完全和dialog一致的,那么我为什么还要再去创建一个dialog呢?...<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/netwait_dialog_gif" android:layout_width...; } } 这里还有一点需要注意,就是activity的启动模式,推荐使用singletask。

    1.7K20

    android推荐使用dialogFrament而不是alertDialog

    在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。...onCreateView即使用定义的xml布局文件展示Dialog。onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。...4、 重写onCreateDialog创建Dialog 在onCreateDialog中一般可以使用AlertDialog或者Dialog创建对话框,不过既然google不推荐直接使用Dialog,我们就使用...5、传递数据给Activitydialog传递数据给Activity,可以使用“fragment interface pattern”的方式,下面通过一个改造上面的登录框来展示这种模式。...可以看到,传统的Dialog旋转屏幕时就消失了,且后台log会报异常~~~使用DialogFragment则不受影响。 好了,关于DialogFragment的介绍结束~~~~ 源码点击下载

    2.4K50
    领券