Activity以Dialog形式出现
1. 正常定义Activity
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 实际显示区域 --> <LinearLayout android:layout_width="230dp" android:layout_height="230dp" android:layout_centerInParent="true" android:background="@drawable/white_radius" android:gravity="center_horizontal" android:orientation="vertical"> </LinearLayout> </RelativeLayout>
2. 自定义Dialog样式(也可以使用系统自带的)
在style文件中
<style name="MyAppCompatDialogTheme" parent="AppTheme"> <item name="android:windowIsFloating">false</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowSoftInputMode">stateAlwaysHidden</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:backgroundDimEnabled">true</item> <!-- 自定义窗口动态样式 --> <item name="android:windowAnimationStyle">@style/SmoothWindowAnimTheme</item> </style> <style name="SmoothWindowAnimTheme" parent="@android:style/Animation.Dialog"> <!-- 自定义窗口进入时样式 --> <item name="android:windowEnterAnimation">@anim/in_from_left</item> <!-- 自定义窗口退出时样式 --> <item name="android:windowExitAnimation">@anim/out_to_right</item> </style>
3. anim中定义动态样式
从左侧0.5s滑入
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromXDelta="-100%p" android:fromYDelta="0" android:toXDelta="0" android:toYDelta="0" /> </set>
向右侧在0.1s内淡出
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="100" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="100%p" android:toYDelta="0"/> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="1.0" android:toAlpha="0.0" android:fillAfter="true" android:duration="100" /> </set>
4. 在AndroidManifest中引用自定义的样式
<activity android:name=".ui.dialog.MyDialogActivity" android:screenOrientation="portrait" android:theme="@style/MyAppCompatDialogTheme" />
对于直接使用系统自带dialog样式的,省略2、3
<activity android:name=".ui.dialog.MyDialogActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Dialog" />
窗口的动态进入退出样式同样适用于普通activity
相关推荐
Mexican 2011-08-31
apowerfulman 2020-03-03
hustlei 2011-03-03
larrywangsun 2011-08-09
TTHHVV 2011-09-28
87384559 2014-11-11
xuewenke 2015-11-04
火星的你 2015-10-25
王磊的程序员之路 2019-06-19
十一郎的IT 2013-10-29
攻城师 2019-06-28
89453862 2016-05-13
SinhaengHhjian 2015-11-04
sunnylinner 2014-11-11