其实很简单:

只是把activity的theme设置成dilog形式的:

  1. <activity android:name=".ActivityPackage.DatePickerActivity"
    android:theme="@style/DefaultFullScreenDialogAnimation">
    </activity>
  1.  
  1. 下面是DefaultFullScreenDialogAnimation
  1.  
  1. <style name="DefaultFullScreenDialogAnimation" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@style/DialogIOSAnimation</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:adjustViewBounds">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>//将背景设置成透明的
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowCloseOnTouchOutside">true</item>//设置窗体外面允不允许点击
    </style>
  1. 下面是DialogIOSAnimation
  1.  
  1. <style name="DialogIOSAnimation" parent="@android:style/Animation.Dialog">
    <item name="android:windowEnterAnimation">@anim/dialog_ios_scale_in</item>
    <item name="android:windowExitAnimation">@anim/dialog_ios_scale_out</item>
    </style>
  1.  
  1. 下面是出现的效果dialog_ios_scale_in
  1.  
  1. <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="200" >
    <scale
    android:interpolator="@android:anim/decelerate_interpolator"

    android:fromXScale="1.2"
    android:toXScale="1.0"

    android:fromYScale="1.2"
    android:toYScale="1.0"

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


    />
    <alpha
    android:interpolator="@android:anim/decelerate_interpolator"

    android:fromAlpha="0.0"
    android:toAlpha="1.0"
    />

    </set>
  1.  
  1. 下面是淡出效果dialog_ios_scale_out
  1. <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="200" >
    <scale
    android:interpolator="@android:anim/accelerate_interpolator"

    android:fromXScale="1.0"
    android:toXScale="1.2"

    android:fromYScale="1.0"
    android:toYScale="1.2"

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


    />
    <alpha
    android:interpolator="@android:anim/accelerate_interpolator"

    android:fromAlpha="0.5"
    android:toAlpha="0.0"
    />

    </set>
  1.  
  1. 这样就是先了把activity的风格转换成了dialog的风格,但是如果你还想让这个activity的宽度与屏幕一样大小的话,还需要在activity里面进行设置:
  1.  
  1. /*设置dialog的宽与屏幕想等*/
    WindowManager windowManager = getWindowManager();
    Display display = windowManager.getDefaultDisplay();
    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.width = WindowManager.LayoutParams.MATCH_PARENT;
    lp.height = WindowManager.LayoutParams.MATCH_PARENT;
    getWindow().setAttributes(lp);
  1.  
  1. 这里是一种自定义的style风格,具体是需要什么样的风格由自己去设置,这里只是给予参考。

将activity变成dialog风格的更多相关文章

  1. Android 如何利用Activity的Dialog风格完成弹出框设计

    在我们使用Dialog时,如果需要用到很多自己设计的控件,虽然可以让弹出框显示出我们需要的界面,但却无法找到地方完成控制代码的编写,如何解决这个问题呢,我们可以将Activity伪装成Dialog弹出 ...

  2. Android中自定义Activity和Dialog的位置大小背景和透明度等demo

    1.自定义Activity显示样式 先在res/values下建colors.xml文件,写入: <?xml version="1.0" encoding="utf ...

  3. Android中自定义Activity和Dialog的位置大小背景和透明度等

    1.自定义Activity显示样式 先在res/values下建colors.xml文件,写入: view plainprint? 1. <?xml version="1.0" ...

  4. Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析

    [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setCont ...

  5. 如何把activity当成dialog

    在工作中有时候需要把activity当成dialog使用,其实做法挺简单的. 1.设置activity的style <style name="DialogTheme" par ...

  6. Android Activity作为dialog对话框的使用详细介绍

    Activity做为Android应用层四大组件的重要组成部分,它的灵活性.可扩性无论是在应用还是游戏方面都得到了广泛应用,本文主要介绍Activity作为dialog对话框 的使用方法进行说明. 本 ...

  7. Android有趣的全透明效果--Activity及Dialog的全透明(附android系统自带图标大全)[转]

    原文地址:http://blog.csdn.net/sodino/article/details/5822147 1.Activity全透明 同学zzm给了这个有趣的代码,现在公布出来. 先在res/ ...

  8. Android Activity模拟dialog

    Android项目中很多地方,都会弹出一个弹出框.类似于自己定义的alertDialog,比如微信的退出提示,但由于Dialog的限制,可能不能很完美的实现你的想要的功能,所有研究发现他们这种实现其实 ...

  9. Activity使用Dialog样式导致点击空白处自动关闭的问题

    将Activity设置成窗口的样式实现Dialog或者Popupwindow效果在开发中是很常用的一种方式,在AndroidMenifest.xml中将需要设置的Activity增加android:t ...

随机推荐

  1. android imageButton 点击按钮前中后,按钮颜色的变化

    我们在开发的过程中,往往为了美化界面的需要,会修改按钮的默认外观,而因为Android中的按钮有三种状态—默认,被点击,被选中.所以,如果要改变按钮的外观,需要对这三种情况都做出修改,也许在以往,我们 ...

  2. addevent兼容函数 && 阻止默认行为 && 阻止传播

    function addEvent(a, b, c, d) { a.addEventListener ? a.addEventListener(b, c, d) : a.attachEvent(&qu ...

  3. wampserver

  4. 【Android测试】【第一节】性能——CPU

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5065083.html 前言 本来打算写完全部的自动化测试之 ...

  5. 【Android测试】【第三节】ADB——源码浅谈

    ◆版权声明:本文出自carter_dream的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4651724.html 前言 由于本人精力 ...

  6. 有关sass

    一.sass编译为css文件 编译的方法有很多 1.koala编译  请参考 http://www.w3cplus.com/blog/777.html http://koala-app.com/ind ...

  7. 框架,公共模块,unified思想

    最近两周一直在加班加点refactor代码,贡献了2014年最后一个周末和2015年元旦三天假期,终于赶在了sprint结束之前完成. 可见,这个sprint做的并不理想! 项目逻辑本身并不复杂,从数 ...

  8. SQL Server 2012 新的分页函数 OFFSET & FETCH NEXT

    DECLARE @page INT, @size INT;select @page = 300, @size = 10 SELECT *FROM gpcomp1.GPCUSTWHERE company ...

  9. 团队冲刺the second day

    今天是我们的团队冲刺的第二天,由于我的电脑出现了一点问题,系统还原了,我有重新配置了一下环境变量和一些eclipse的问题,导致时间浪费了很多,但是我还是做了一些简单的任务,例如编写节日的页面的布局, ...

  10. 利用NSUserdefaults来存储自定义的NSObject类及自定义类数组

    利用NSUserdefaults来存储自定义的NSObject类及自定义类数组 1.利用NSUserdefaults来存储自定义的NSObject类 利用NSUserdefaults也可以来存储及获取 ...