• 如何把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

  • 相关阅读:
    常用的公共 DNS 服务器 IP 地址
    组网参考资料
    华为交换机配置telnet、SSH
    华为三层交换+双链路出口
    ACL流策略
    MacBook苹果电脑绕过BootCamp安装Win7双系统
    nslookup
    熟悉Linux操作系统的命令接口、图形接口和程序接口
    “发现一个错误”——laravel开发
    document.forms用法示例介绍
  • 原文地址:https://www.cnblogs.com/tangZH/p/8146006.html
Copyright © 2020-2023  润新知