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动画效果的实现代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)