自定义Dialog宽度占满屏幕
来源:互联网 发布:海康威视 北京 知乎 编辑:程序博客网 时间:2024/05/16 10:47
大家好,这我开博客的第一遍文章。虽然这第一篇不是我自己写的,但是我所发表的每一章或者转载过的每一章都是自己亲自测试过的,才会发表的哦!
一、自定义Dialog继承Dialog
public class MyDialog extends Dialog {
二、为Dialog设置样式
在style中建立新样式继承
@android:style/Theme.Dialog或者@android:style/Theme.Holo.Dialog
- 设置样式去掉边框
- 去掉标题
- 设置窗口透明
- 设置点击对话框外边可以消失等
- 设置动画
<!-- <style name="MyDialog" parent="@android:style/Theme.Dialog">--> <style name="MyDialog" parent="@android:style/Theme.Holo.Dialog"> <!-- 是否有边框 --> <item name="android:windowFrame">@null</item> <!--是否在悬浮Activity之上 --> <item name="android:windowIsFloating">true</item> <!--标题 --> <item name="android:windowNoTitle">true</item> <!--阴影 --> <item name="android:windowIsTranslucent">true</item><!--半透明--> <!-- 进入和退出的动画 --> <item name="android:windowAnimationStyle">@style/MyDialogAnimation</item> <!-- 点外边可以消失 --> <item name="android:windowCloseOnTouchOutside">true</item> </style> <style name="MyDialogAnimation"> <!--进入 --> <item name="android:windowEnterAnimation">@anim/dialog_enter</item> <!--退出--> <item name="android:windowExitAnimation">@anim/dialog_exit</item> </style>
进入动画
dialog_enter
dialog_exit
系统自带的可以找到直接拿来用在SDK下找到
目录\sdk\platforms\对应的API版本
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" > <scale android:fromXScale="0.9" android:toXScale="1.0" android:fromYScale="0.9" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:duration="200" /> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="200" /> </set>
退出
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <scale android:duration="200" android:fromXScale="1.0" android:fromYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:toXScale="0.9" android:toYScale="0.9"/> <alpha android:duration="200" android:fromAlpha="1.0" android:toAlpha="0.0"/></set>
三、在构造方法中设置样式
Context mContext; public MyDialog(Context context) { super(context, R.style.MyDialog); this.mContext=context; }
四、设置布局
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_dialog); }
布局文件就是2个TextView
五、重写show方法,设置宽度,高度等
@Override public void show() { super.show(); /** * 设置宽度全屏,要设置在show的后面 */ LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.gravity=Gravity.BOTTOM; layoutParams.width= LayoutParams.MATCH_PARENT; layoutParams.height= LayoutParams.WRAP_CONTENT; getWindow().getDecorView().setPadding(0, 0, 0, 0); getWindow().setAttributes(layoutParams); }
六、完整Dialog类
/** * Dialog 2016年7月30日 */public class MyDialog extends Dialog { Context mContext; public MyDialog(Context context) { super(context, R.style.MyDialog); this.mContext=context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_dialog); } @Override public void show() { super.show(); /** * 设置宽度全屏,要设置在show的后面 */ LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.gravity=Gravity.BOTTOM; layoutParams.width= LayoutParams.MATCH_PARENT; layoutParams.height= LayoutParams.WRAP_CONTENT; getWindow().getDecorView().setPadding(0, 0, 0, 0); getWindow().setAttributes(layoutParams); } }
0 0
- (转)自定义Dialog宽度占满屏幕
- 自定义Dialog宽度占满屏幕
- Andorid dialog 宽度占屏幕宽度
- 自定义dialog宽度填充屏幕
- dialog居于底部并使得宽度占满整个屏幕宽度
- dialog居于底部并使得宽度占满整个屏幕宽度
- Android Dialog 自定义占屏幕百分比大小
- 216_实现width宽度充满占满屏幕的底部菜单dialog
- 自定义dialog的宽度充满整个屏幕宽度的问题
- 自定义Dialog setLayout 设置宽度等于屏幕宽度无效
- 关于android自定义View无法占满屏幕宽度的解决方案
- android 如何让自定义dialog的宽度充满整个屏幕
- 自定义dialog占屏幕一半及从屏幕下方弹出动画
- Dialog底部滑出并横向占满屏幕
- 自定义Dialog宽度设定
- 自定义dialog宽度全屏
- 如何设置Dialog宽度为屏幕宽度
- android 设置dialog 宽度为屏幕宽度
- 泛型的上下限
- Java进阶(四)线程间通信剖析
- 随机排列数组
- SQL Server类型与C#类型对应关系
- Leetcode刷题(6)
- 自定义Dialog宽度占满屏幕
- 欢迎使用CSDN-markdown编辑器
- Spring 核心技术——IoC 之 DI (1)
- Nginx源码分析与实践---ngx_command_t
- 判断一个二叉树是不是另一个二叉树的子结构
- boolan——c++学习笔记之STL哈希表探究
- CSU 1513 Kick the ball! 点球大战(DFS)
- SSL 1653——数字游戏
- 文章标题