Android自定义Dialog
来源:互联网 发布:金融数据图 编辑:程序博客网 时间:2024/06/05 11:40
首先我们新建一个自定义Dialog类CustomDialog,并让这个类继承自Dialog类
public class CustomDialog extends Dialog{ //构造方法 public CustomDialog(Context context,int width,int height,int layout,int style,int gravity,int anim) { super(context, style); //设置属性 setContentView(layout);//布局 Window window=getWindow(); WindowManager.LayoutParams layoutParams =window.getAttributes(); layoutParams.width=width;//布局宽 layoutParams.height=height;//布局高 layoutParams.gravity=gravity;//布局位置 window.setAttributes(layoutParams); window.setWindowAnimations(anim);//动画 }}
在这里我们首先为Dialog写一个构造方法,并向这个方法中传入宽、高、和布局等参数。在第一行首先利用父类的构造方法传入上下文以及风格,之后就是利用LayoutParams设置一些Dialog的属性(布局的宽、高以及位置),并且设置好dialog的动画效果。
接着完成Dialog的出入场动画文件pop_out.xml和pop_in.xml,注意这两个文件要单独放在一个叫anim的文件夹中,anim文件夹要和drawable同级,具体的编写方式可以查看博客:
http://www.cnblogs.com/liaojie970/p/5837652.html
<!--出场动画--><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@android:integer/config_shortAnimTime" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="0" android:toYDelta="100%"/></set>
<!--入场动画--><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@android:integer/config_shortAnimTime" android:fromXDelta="0" android:fromYDelta="100%" android:toXDelta="0" android:toYDelta="0"/></set>
接下来打开style.xml,将Dialog的动画以及风格样式整合进去。
<!--自定义Dialog动画style--> <style name="pop_anim_style"> <item name="android:windowExitAnimation">@anim/pop_out</item><!--退出动画--> <item name="android:windowEnterAnimation">@anim/pop_in</item><!--进入动画--> </style> <!--自定义Dialog 背景半透明,无标题--> <style name="Theme_Dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> </style>
然后就是在代码中使用自定义Dialog了。
dialog=new CustomDialog(getActivity(), LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT, R.layout.dialog_girl,R.style.Theme_Dialog, Gravity.CENTER,R.style.pop_anim_style);//实例化Dialog......dialog.show();//显示Dialog
其中dialog_girl就是Dialog的布局文件,如果布局文件中有需要拿来用的控件的话,还需要记得在代码中利用findViewById获取其实例化对象,注意要调用dialog类下的findViewById。
阅读全文
0 0
- 自定义Dialog android Dialog
- 【Android】Dialog以及自定义Dialog
- android 系统Dialog,自定义Dialog
- android 自定义dialog 自定义dialog 宽度问题
- Android 自定义 dialog
- Android 自定义 dialog
- Android 自定义 dialog
- Android 自定义Dialog分类
- Android Dialog( 自定义对话框)
- Android自定义Dialog
- Android-自定义Dialog样式
- Android 自定义Dialog样式
- Android:自定义dialog
- Android 自定义dialog
- Android自定义Dialog对话框
- Android 自定义dialog
- Android自定义Dialog
- Android自定义Dialog
- 四种mysql存储引擎
- 免费下载论文网址--2017
- AngularJS—关于 video 路径赋值的问题
- 大流量高并发网站如何构架
- 编写VB可调用C/C++ DLL
- Android自定义Dialog
- ios开发常见问题
- 目录遍历
- MD5加密util
- 剑指offer_递归与循环---斐波那契数列
- 卡尔曼滤波示例
- sql操作命令大全
- 机器学习第六课part1(最小二乘,L1,L2正则)
- 416. Partition Equal Subset Sum