全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 中从屏幕左下角弹出Dialog动画效果的实现代码

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小时内与您取得联系。