android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下
来源:互联网 发布:苹果cms自带采集插件 编辑:程序博客网 时间:2024/05/16 06:39
我想实现一个效果,从底部向上逐渐弹出。如下图所示:
1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出。
2.关闭dialog时, dialog缓慢的移动向底部消失。很平滑的效果。
实现方式:
在activity中写代码如下
public class MainActivity extends Activity {Button button1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button)findViewById(R.id.button1);button1.setOnClickListener(mOnClickListener);}OnClickListener mOnClickListener = new View.OnClickListener(){@Overridepublic void onClick(View v) {//TODO Auto-generated method stub AlertDialog dialog = new AlertDialog.Builder(MainActivity.this) .setTitle("title").setMessage("message").create(); Window window = dialog.getWindow(); window.setGravity(Gravity.BOTTOM); //此处可以设置dialog显示的位置 window.setWindowAnimations(R.style.mystyle); //添加动画 dialog.show(); }}; }
准备一个 style资源文件,创建 mystyle
<style name="mystyle" parent="android:Animation"> <item name="@android:windowEnterAnimation">@anim/dialog_enter</item> <item name="@android:windowExitAnimation">@anim/dialog_exit</item></style>
在这个mystyle中使用了两个动画,如下:
dialog_enter.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="600" android:fromYDelta="100%p" /> </set>
dialog_exit.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="600" android:toYDelta="100%p" /></set>
至此完成。
代码解释:
1. 为 dialog 所在的windows 设置了一个 动画样式 style
2. 该style 指定了 窗体(windows)进入的动画(dialog_enter) 和离开的动画 (dialog_exit)
3. 在进入时的动画dialog_enter 中,写了一个 translate 的变化,指定从 其父容器的 100% 位置开始。 其父容器的 100% 位置 是 屏幕以外的位置,是看不到,这是一个开始点。没有指定结束点,结束点就默认 本身应该显示的位置(即将显示的位置)。
4.同理,dialog_exit定义了离开时动画。该动画未指定开始位置,指定了结束位置是 其父容器的 100% 位置 ,这样就慢慢的向下消失在屏幕以外。
android:toYDelta="100%p" 中的 100% 指示了 其父容器的 100% 位置
而如果写成
android:toYDelta="100%",即是指示了 起自身的 100% 位置。
参考:
http://www.linuxidc.com/Linux/2012-04/59153.htm
http://blog.csdn.net/ztp800201/article/details/7387668
0 0
- android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下
- android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现 .
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现【转】
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失,并解决activity跳转的时候出现短暂的黑屏
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失,并解决activity跳转的时候出现短暂的黑屏
- Activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现---Android提高篇 ——诺诺"涂鸦"记忆
- 从下向上弹出Dialog 动画
- android 自定义dialog弹出和消失动画
- android 自定义dialog弹出和消失动画
- android 自定义dialog弹出和消失动画
- android 自定义dialog弹出和消失动画
- Android Activity 淡入淡出和从底部向上弹出动画效果
- Android Activity 淡入淡出和从底部向上弹出动画效果
- Android Activity 淡入淡出和从底部向上弹出动画效果【转】
- android 页面底部弹出菜单(dialog)
- Android 开发 圆角 Button 按钮 xml 实现
- 读取网络数据缓存在本地 流程图
- 初试 spring web mvc
- 在eclpse中 一个web project 引用多个 java project 的方法
- 缓存机制
- android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下
- 国际主流商业BI产品对比分析报告
- [前端] 输入统计超出禁止输入
- android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下
- android 中遇到 imageView getWidth 始终为0 时 ,设置 setImageBitmap 的方法
- EntityFramework中常用的数据修改方式
- UI设计, 弹出对话框 设计(区分强调按钮和普通按钮,给用户一个 正向建议的强调按钮)
- UI设计,使用感知分层技术
- UI设计,使用 线框图(页面示意图或页面布局图)