从页面底部向上弹出dialog,消失时逐渐向下(转)
我想实现一个效果,从底部向上逐渐弹出。如下图所示:
1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出。
2.关闭dialog时, dialog缓慢的移动向底部消失。很平滑的效果。
实现方式:
在activity中写代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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();
<span style= "color: #ff0000;" ><strong>Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //此处可以设置dialog显示的位置
window.setWindowAnimations(R.style.mystyle); //添加动画 </strong> </span>
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" ><translateandroid: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" ><translateandroid: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
从页面底部向上弹出dialog,消失时逐渐向下(转)相关推荐
- Android之靠谱的Activity从底部向上弹出,finish从顶部向下消失(不黑屏)
1 .需求 要求Activity从底部向上弹出,finish从顶部向下消失(不黑屏) 2.解决办法 准备3个动画xml文件 app_bottom_in.xml <?xml version=&qu ...
- Flutter 底部向上弹出的动画按钮
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力 Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日 ...
- 移动端弹出层滚动时禁止body滚动
相信很多写移动端的朋友会遇到这个问题,我也遇到了,之后就辛辛苦苦的在网上找解决办法,下面我大概提一下我在网上看到的几种办法,行不行的通呢?本人就亲测了下.本人学的还不是太深,如果有什么不对的地方或者有 ...
- android 底部弹窗失效,Android实现从底部弹出Dialog(和PopWindow实现的效果同样)
布局文件:dialog_custom_layout.xmlandroid android:orientation="vertical" android:layout_width=& ...
- 向上弹出菜单jQuery插件
插件名:柯乐义 英文名:Keleyi js文件名称:jquery.keleyi.js 插件功能:该插件可以让你轻易地在页面上构建一个向上弹出的二级菜单. 支持浏览器: keleyi 0.1.4版本支持 ...
- jquery mobile用代码弹出dialog
一.点击弹出dialog 见 http://www.w3school.com.cn/jquerymobile/jquerymobile_pages.asp 中"将页面作为dialog&quo ...
- 模仿微信图片编辑器--动画实现向上弹出文字编辑框(遮罩)界面
豪言壮志 今天天气不错,挺风和日丽的,出去逛逛街,溜溜弯,拍上一张美图,配上高逼格的格言警句,发到朋友圈,一片鸡汤文就此诞生... 最近会有事没事会在朋友圈发动态:写一句格言警句,配上一张意境美图.因 ...
- bootstrap 模态框弹出就消失了_bootstrap模态框消失问题的解决方法
这篇文章主要为大家详细整理了bootstrap模态框消失不消失各种问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 小编主要从网上整理了网友提出来的关于bootstrap模态框消失的不 ...
- 软键盘显示的情况下弹出dialog,dialog会出现在软键盘上方
问题: 界面中有一个edittext,选中时候弹出软键盘:在软键盘显示的情况下点击另外一个弹出底部dialog的控件时候,发现dialog出现在软键盘上方了,如下图所示: 解决办法 弹出dialog之 ...
最新文章
- discuz如何去掉论坛的网页后缀名称forum.php
- SpringBoot:与JOOQ合作
- 四元数乘法_复数的意义——四元数
- 32怎么将mcu内的代码擦除_凭借这款MCU产品,瑞萨电子竟然超越了ARM?
- hdfs-大数据Week6-DAY2-2-hdfs
- matlab有参函数,定义含参量函数 matlab
- GraphX 基础一
- 预测科技未来发展趋势的10个定律
- GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛
- 美国音乐学院计算机音乐专业排名2015年,美国音乐学院排名前100
- AWVS11安装、操作
- u盘iso安装服务器系统怎么安装win7系统安装系统教程,u盘iso安装系统,小编教你u盘怎么安装win7系统...
- 【ROM制作工具】小白轻松一键搞定纯净ROM刷机包
- PHP鲜花销售管理系统毕业设计
- Mac 外接键盘Command键( Windows 徽标键)失效
- 毕业一年,我是如何实现每月两千副业之路
- arm oe linux gnueabi 系统,交叉编译移植openssl
- 几何画板年终大促倒计时,别错过!
- leek()函数使用
- Html5的废弃与新增全局属性及元素
热门文章
- 7-63 情人节 (15 分)(c++stl)
- 7-1 射击游戏 (20 分)
- 基于顺序存储结构的图书信息表的旧图书的出库(C++)
- 执行`sudo apt-get install xx`命令时,报错问题解决
- 为类添加方法java_Java 7 : 为接口类增加“public defender 方法”
- 字符集匹配:\s 匹配一个空格,一边后面加量词表示多个空格,\s*表示0个以上空格,\s+表示1个以上空格,\s相当于[\f\r\n\t ]5种空白字符。...
- 【转载】图片 CSS:怎样才能 “响应式 + 固定宽高比例”?
- MySQL 基本应用 count() 与 group by
- MAVEN Error: Using platform encoding (GBK actually) to copy filtered resources.....
- bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头