`
dengrui0917
  • 浏览: 12665 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

动态的弹出对话框

阅读更多
 

动态的弹出自定义对话框

调   //调用对话框,

Private void CreateDialog(){

View commentDialogView = LayoutInflater.from(context).inflate(

              R.layout.detail_dialog, GameDetail.this, false);

       FusionField.viewHandler.sendMessage(FusionField.viewHandler

              .obtainMessage(FusionCode.SHOW_DIALOG_FROW_VIEW,

                     commentDialogView));

}

    /**

     * 使对话框消失

     */

    private void dismissDialogView()

    {

       sendHandlerMessage(FusionCode.SHOW_DIALOG_FROW_VIEW, null);

    }

 

    /**

     * 发送Handler消息

     * @param what 消息体

     * @param obj 对象

     */

    private void sendHandlerMessage(int what, Object obj)

    {

       FusionField.viewHandler.sendMessage(FusionField.viewHandler

              .obtainMessage(what, obj));

    }

 

 对话框实现代码

 

1.res/anim文件下添加两的xml文件 scale_dialog_dismiss.xml scale_dialog_show.xml

Sscale_dialog_dismiss.xml

<?xml version="1.0" encoding="UTF-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"

    android:shareInterpolator="false">

    <scale android:interpolator="@android:anim/accelerate_interpolator"

       android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0"

       android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%"

       android:fillAfter="false" android:duration="300"

       android:repeatMode="restart" />

</set>

 

Scale_dialog_show.xml

<?xml version="1.0" encoding="UTF-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"

    android:shareInterpolator="false">

    <scale android:interpolator="@android:anim/accelerate_interpolator"

       android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0"

       android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%"

       android:fillAfter="false" android:duration="300"

       android:repeatMode="restart" />

</set>

 

 

 

    /**

     *  菜单动画是否结束

     */

    boolean isDialogAniEnd = true;

    /**

     *  当前正在显示的view

     */

    View currentView;

    Animation dialogShowAnimation;

    Animation dialogDismissAnimation;

 

//初始化两个动画

    @Override

    protected void onStart()

    {

       dialogShowAnimation = AnimationUtils.loadAnimation(this,

              R.anim.scale_dialog_show);

       dialogDismissAnimation = AnimationUtils.loadAnimation(this,

              R.anim.scale_dialog_dismiss);

}

Handler viewHandler = new Handler()

    {

       public void handleMessage(android.os.Message msg)

       {

           switch (msg.what)

           {

               case FusionCode.SHOW_DIALOG_FROW_VIEW:

              // 显示自定义动画对话框

              if (aniDialogView == null && msg != null && msg.obj != null)

              {

                  isDialogAniEnd = true;

              WindowManager.LayoutParams winlp = new WindowManager.LayoutParams(

                         320, 480,

                         WindowManager.LayoutParams.TYPE_APPLICATION,

                         WindowManager.LayoutParams.FLAG_FULLSCREEN,

                         PixelFormat.TRANSLUCENT);

                  winlp.gravity = Gravity.CENTER;

                     //给对话框负初始值

                  aniDialogView = new RelativeLayout(Main.this);

                  aniDialogView.setBackgroundColor(0x99000000);

                  aniDialogView.addView((View) msg.obj);

                  aniDialogView.setGravity(Gravity.CENTER);

                  showAnimationDialog(aniDialogView, (View) msg.obj, winlp);

              }

              else

              {//关闭对话框

                  if (isDialogAniEnd)

                  {

                     isDialogAniEnd = false;

                     dismissAnimationDialog(aniDialogView);

                  }

              }     

              break;

             default:

              break;

           }

       }

}

/**

        * 显示自定义动画对话框

        * @param obj     要显示的view

        * @param winlp     添加到页面的参数

        */

       private void showAnimationDialog(View baseLayout, View contentView,

              android.view.WindowManager.LayoutParams winlp)

       {

           if (mWindowManager != null)

           {

              mWindowManager.addView(baseLayout, winlp);

              contentView.startAnimation(dialogShowAnimation);

           }

       };

 

/**

        * 取消自定义动画对话框

        * @param obj     要显示的view

        * @param winlp     添加到页面的参数

        */

       private void dismissAnimationDialog(RelativeLayout aniDialogView)

       {

           if (mWindowManager != null && aniDialogView != null)

           {

              dialogDismissAnimation

                     .setAnimationListener(new AnimationListener()

                     {

 

             

分享到:
评论

相关推荐

    VC++如何弹出对话框Dialog

    - 在需要弹出对话框的地方,创建对话框对象,然后调用`DoModal()`方法。如果`DoModal()`返回IDOK(通常是用户点击了“确定”按钮),则表示用户完成了对话;如果是IDCANCEL(“取消”按钮),则表示用户终止了对话...

    WEB弹出对话框

    压缩包内的文件"PopupMessage.dll"可能是一个包含实现弹出对话框功能的自定义控件或组件的动态链接库(DLL)。DLL文件是.NET Framework中的可重用代码单元,包含了实现特定功能的类和方法。开发者可以引用这个DLL,...

    asp.net弹出对话框

    在 ASP.NET 中,我们有时需要实现弹出对话框的功能,以便与用户进行交互,例如确认操作、输入数据或者显示警告信息。在描述中提到的“asp.net弹出对话框”,主要是指在网页中弹出一个模态或非模态的窗口,让用户参与...

    动态弹出、关闭对话框.rar

    2. **动态弹出对话框**: - 要动态地显示对话框,我们可以在需要时调用`Create()`或`CreateIndirect()`函数。`Create()`用于创建基于对话框模板资源的对话框,而`CreateIndirect()`允许从内存中的对话框模板创建。 ...

    漂亮的网页弹出对话框

    "漂亮的网页弹出对话框"是指在网页中实现美观且功能丰富的弹窗效果。这类对话框可以增强用户体验,使网站看起来更加专业和精致。本主题将深入探讨如何创建和实现这样的对话框。 首先,我们要了解弹出对话框的基本...

    asp.net弹出对话框常用技巧

    ### ASP.NET 中弹出对话框的常用技巧 在ASP.NET应用程序开发过程中,经常需要通过弹出对话框的方式向用户提示信息、确认操作等。本文将详细介绍几种常用的在ASP.NET中实现弹出对话框的方法,适合ASP.NET初学者学习...

    asp.net(C#)里弹出对话框并在设定时间内关闭

    asp.net(C#)里点击页面某一项,弹出对话框显示其详细信息,并可以设置自动关闭对话框的时间。

    Java编程实现按钮弹出对话框操作

    利用Java编写的弹出对话框小程序,比较经典,分享一下

    vc6.0下实现单击弹出对话框

    在VC6.0环境下,利用MFC(Microsoft Foundation Classes)框架进行Windows应用程序开发时,创建一个单击菜单项弹出对话框的操作是常见的需求。MFC是微软为简化Windows API编程而提供的C++类库,它封装了许多Windows ...

    纯CSS实现div弹出对话框

    纯CSS实现div弹出对话框 可以应用于C#,.net 里面。 页面比较好看。

    使用html+css+js实现自定义弹出对话框/输入框

    在实现弹出对话框时,我们需要创建一个包含对话框元素的容器,例如`&lt;div&gt;`,并设置相应的ID或类名以便于CSS和JavaScript操作。例如: ```html 自定义对话框 请输入内容"&gt; 关闭 ``` 接着,CSS(Cascading ...

    jQuery实现的点击显示弹出对话框关闭按钮特效源码.zip

    总结来说,这个资源提供了使用jQuery创建动态弹出对话框的实例,涉及了选择器、事件处理、CSS样式控制以及动画效果,对于学习和实践jQuery的交互功能非常有帮助。开发者可以根据自己的需求进行修改和扩展,以满足...

    点击按钮弹出对话框代码

    在JavaScript中,弹出对话框有几种常见的方法。最基本的有`alert()`用于显示警告信息,`prompt()`用于获取用户输入,以及`confirm()`用于请求用户确认。这些内置对话框都是阻塞式的,意味着它们会暂停页面的执行,...

    jQuery点击按钮弹出对话框窗口提示插件

    本文将详细讲解如何使用jQuery实现一个点击按钮弹出对话框窗口提示的插件,以便用户在执行关键操作前进行确认或取消。 首先,我们需要引入jQuery库。在`index.html`文件中,添加以下代码片段来引入jQuery: ```...

    php中对话框的弹出

    在PHP中,虽然直接弹出对话框的功能并不像JavaScript那样常见,但我们可以结合HTML、JavaScript以及PHP来实现这一效果。对话框通常用于向用户显示警告信息、确认操作或收集用户输入。在这里,我们将深入探讨如何在...

    Android弹出对话框

    在给定的标题“Android弹出对话框”中,我们可以理解这是关于如何在Android环境中创建和使用对话框的教程。描述提到的“完整的代码”涵盖了多选、单选和登录验证等不同类型的对话框功能,这将涉及到Android SDK中的...

    js弹出对话框 源代码

    在网页设计中,弹出对话框是常见的用户交互方式,可以用来显示警告信息、获取用户输入或进行确认操作。本文将深入探讨如何使用JS创建具有圆角和关闭按钮的对话框,并涵盖五种不同的展示风格。 首先,我们需要了解...

    模仿MSN弹出对话框.rar

    "模仿MSN弹出对话框"这个项目,就是利用JavaScript来创建一个类似于微软即时通讯软件MSN的对话框效果,使得用户在网页上能够体验到类似的交互功能。 在JavaScript特效中,弹窗漂浮是一种常见的应用,它通常用于显示...

    列表长按,弹出对话框按钮

    在Android应用开发中,"列表长按,弹出对话框按钮"是一个常见的交互设计,它提高了用户对数据操作的便捷性。在这个场景中,当用户在列表视图中长按某一项时,会触发一个对话框,对话框内通常包含一系列可供选择的...

    VC中弹出对话框的实现

    【VC中弹出对话框的实现】涉及到的是C++编程中的MFC(Microsoft Foundation Classes)框架,用于构建Windows桌面应用程序。MFC提供了一种结构化的、面向对象的方式来编写Windows应用程序,其中包括对话框(Dialog)...

Global site tag (gtag.js) - Google Analytics