MainActivity代码:
import android.app.Dialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends AppCompatActivity {
private View inflate;
private Dialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View view) {
dialog = new Dialog(this,R.style.ActionDialogStyle);
//填充对话框的布局
inflate = LayoutInflater.from(this).inflate(R.layout.item_dialog, null);
//初始化控件
//将布局设置给Dialog
dialog.setContentView(inflate);
//获取当前Activity所在的窗体
Window dialogWindow = dialog.getWindow();
//设置Dialog从窗体底部弹出
dialogWindow.setGravity( Gravity.BOTTOM);
//获得窗体的属性
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
lp.y = 20;//设置Dialog距离底部的距离
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
// 将属性设置给窗体
dialogWindow.setAttributes(lp);
dialog.show();//显示对话框
}
}
主界面的布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="ucai.cn.dialoganimator.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:onClick="click"/> </LinearLayout>
Dialog布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/hani_gift_1" android:layout_gravity="center"/> </LinearLayout>
styles代码:
<style name="ActionDialogStyle" parent="@android:style/Theme.Dialog">
<!-- 背景透明 --> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowContentOverlay">@null</item> <!-- 浮于Activity之上 --> <item name="android:windowIsFloating">true</item> <!-- 边框 --> <item name="android:windowFrame">@null</item> <!-- Dialog以外的区域模糊效果 --> <item name="android:backgroundDimEnabled">true</item> <!-- 无标题 --> <item name="android:windowNoTitle">true</item> <!-- 半透明 --> <item name="android:windowIsTranslucent">true</item> <!-- Dialog进入及退出动画 --> <item name="android:windowAnimationStyle">@style/ActionSheetDialogAnimation</item> </style> <!-- ActionSheet进出动画 --> <style name="ActionSheetDialogAnimation" parent="@android:style/Animation.Dialog"> <item name="android:windowEnterAnimation">@anim/actionsheet_dialog_in</item> <item name="android:windowExitAnimation">@anim/actionsheet_dialog_out</item> </style>
进入动画(左下角开始放大):
<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXScale="0" android:toXScale="100%" android:fromYScale="0" android:toYScale="100%" android:pivotX="0%" android:pivotY="100%" />
退出动画(向下移动):
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="200" android:fromYDelta="0" android:toYDelta="100%" />
以上所述是小编给大家介绍的Android 中从屏幕左下角弹出Dialog动画效果的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 左下角弹出dialog动画
# android
# dialog
# Android 全局Dialog的简单实现方法
# Android使用Dialog风格弹出框的Activity
# Android实现从底部弹出的Dialog示例(一)
# Android中自定义的dialog中的EditText无法弹出输入法解决方案
# Android 仿苹果底部弹出Dialog
# Android 从底部弹出Dialog(横向满屏)的实例代码
# Android解决dialog弹出时无法捕捉Activity的back事件的方法
# Android自定义弹出框dialog效果
# Android 解决dialog弹出时无法捕捉Activity的back事件问题
# Android 8.0如何完美适配全局dialog悬浮窗弹出
# 弹出
# 对话框
# 小编
# 在此
# 给大家
# 所述
# 给我留言
# 感谢大家
# 无标题
# 疑问请
# 有任何
# setGravity
# LayoutParams
# BOTTOM
# getAttributes
# lp
# getWindow
# ActionDialogStyle
# style
# click
相关文章:
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何制作算命网站,怎么注册算命网站?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何在服务器上配置二级域名建站?
*服务器网站为何频现安全漏洞?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
代刷网站制作软件,别人代刷火车票靠谱吗?
如何通过智能用户系统一键生成高效建站方案?
建站之星上传入口如何快速找到?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
建站之星安装需要哪些步骤及注意事项?
微信h5制作网站有哪些,免费微信H5页面制作工具?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
外贸公司网站制作哪家好,maersk船公司官网?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
如何高效生成建站之星成品网站源码?
内部网站制作流程,如何建立公司内部网站?
如何通过wdcp面板快速创建网站?
潮流网站制作头像软件下载,适合母子的网名有哪些?
建站之星价格显示格式升级,你的预算足够吗?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何选择高效便捷的WAP商城建站系统?
利用JavaScript实现拖拽改变元素大小
定制建站流程步骤详解:一站式方案设计与开发指南
C++如何编写函数模板?(泛型编程入门)
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何在阿里云虚拟服务器快速搭建网站?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
高性能网站服务器部署指南:稳定运行与安全配置优化方案
,如何利用word制作宣传手册?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
如何在腾讯云服务器快速搭建个人网站?
如何在阿里云虚拟主机上快速搭建个人网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何通过建站之星自助学习解决操作问题?
装修招标网站设计制作流程,装修招标流程?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何在西部数码注册域名并快速搭建网站?
MySQL查询结果复制到新表的方法(更新、插入)
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何通过商城免费建站系统源码自定义网站主题?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
建站10G流量真的够用吗?如何应对访问高峰?
在线教育网站制作平台,山西立德教育官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。