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