zoukankan      html  css  js  c++  java
  • 如何把activity当成dialog

    在工作中有时候需要把activity当成dialog使用,其实做法挺简单的。

    1、设置activity的style

    <style name="DialogTheme" parent="@android:style/Theme.Dialog">
            <!-- 边框 -->
            <item name="android:windowFrame">@null</item>
            <!-- 是否浮现在activity之上 -->
            <item name="android:windowIsFloating">true</item>
            <!-- 不透明 -->
            <item name="android:windowIsTranslucent">true</item>
            <!-- 无标题 -->
            <item name="android:windowNoTitle">true</item>
            <!-- 背景 -->
            <item name="android:windowBackground">@android:color/transparent</item>
            <!-- 模糊 -->
            <item name="android:backgroundDimEnabled">true</item>
        </style>

    2、把该style应用给该activity

    <activity 
    android:name=".me.widget.DialogActivity" android:theme="@style/LoginDialogTheme">
    </activity>

    要注意一点,如果style的parent是:@android:style/Theme.Dialog,如上面所示

    style name="DialogTheme" parent="@android:style/Theme.Dialog"

    那么该DialogActivity只能继承Activity,不能继承AppCompatActivity

    本来,我们通过在上面的style中能够设置该activityDialog的进出动画,就像这样

    <item name="android:windowEnterAnimation">@anim/dialog_scale_in</item>
    <item name="android:windowExitAnimation">@anim/dialog_scale_out</item>

    但是有些手机不起作用,怎么办呢?重写呗。看下面:

     @Override
        public void finish() {
            super.finish();
            overridePendingTransition(0, R.anim.dialog_scale_out);
        }

    在我使用activity当作dialog的时候,关闭该activityDialog的时动画效果与关闭activity的时候是一样的,即从右边退出,弹出activityDialog的时候动画没问题。这样肯定不行,我要的是无论如何,进出该activityDialog的方式都与普通dialog一样,因此,我重写了退出该activityDialog的时候的动画。

    转载请标明出处:http://www.cnblogs.com/tangZH/p/8146006.html

  • 相关阅读:
    spring多数据源配置
    spring+myBatis 配置多数据源,切换数据源
    Maven项目引入log4j的详细配置
    基于Https协议返回Jason字符串
    Http协议入门、响应与请求行、HttpServletRequest对象的使用、请求参数获取和编码问题
    java http post/get 服务端和客户端实现json传输
    java实现一个简单的Web服务器
    设计模式系列
    Nginx系列
    Linux系列
  • 原文地址:https://www.cnblogs.com/tangZH/p/8146006.html
Copyright © 2011-2022 走看看