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之IOC容器初始化
    PythonWeb开发教程(二),搭建第一个django项目
    PythonWeb开发教程(一),开发之前需要准备什么
    基于python的性能测试工具–locust
    在成为测试大牛的路上,我推荐BestTest
    移动端自动化测试(一)appium环境搭建
    常用工具篇(二)死链接扫描工具–Xenu
  • 原文地址:https://www.cnblogs.com/tangZH/p/8146006.html
Copyright © 2011-2022 走看看