博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下
阅读量:6910 次
发布时间:2019-06-27

本文共 1463 字,大约阅读时间需要 4 分钟。

我想实现一个效果,从底部向上逐渐弹出。如下图所示:

1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出。

2.关闭dialog时, dialog缓慢的移动向底部消失。很平滑的效果。

 

   

 

实现方式:

在activity中写代码如下

public class MainActivity extends Activity {	Button button1;	@Override	protected 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(){		@Override		public 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

在这个mystyle中使用了两个动画,如下:

dialog_enter.xml

dialog_exit.xml

至此完成。

 

代码解释:

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://eoycl.baihongyu.com/

你可能感兴趣的文章
Getting Started with iOS Development
查看>>
程序员第一定律:关于技能与收入
查看>>
刘墉先生说过一句话
查看>>
SqlServer数据库几种字段类型对比
查看>>
怎样花两年时间去面试一个人
查看>>
Grails的目录结构
查看>>
使用SqlConnection显示连接信息
查看>>
TAM安装过程中遇到的问题
查看>>
android配置运行的时候出现无法找到PANIC: Could not open: C:\Users\Administrator\.android
查看>>
【随笔】居然又玩了两天
查看>>
python dict字典
查看>>
css:注释格式不当引起背景色无效
查看>>
每日英语:Do Women Like Child Care More Than Men?
查看>>
三张图片拼接成圆角框
查看>>
分享20个响应式web设计的必备jQuery插件
查看>>
(原创)CheckTool:CRC校验、累加和校验、异或和校验专业校验工具V1.0
查看>>
面试题34:丑数
查看>>
Linux内核学习笔记十——虚拟文件系统概念
查看>>
set header
查看>>
如何写Makefile文件
查看>>