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

Android 中从屏幕左下角d出Dialog动画效果的实现代码,第1张

概述MainActivity代码:importandroid.app.Dialog;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;

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;@OverrIDeprotected 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从窗体底部d出 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 中从屏幕左下角d出Dialog动画效果的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Android 中从屏幕左下角d出Dialog动画效果的实现代码全部内容,希望文章能够帮你解决Android 中从屏幕左下角d出Dialog动画效果的实现代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1147390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存