Android修改自定义Dialog为全屏
来源:互联网 发布:地球防卫少年 知乎 编辑:程序博客网 时间:2024/03/29 19:44
我们在用Android原生的Dialog的时候,你会发现原生的Dialog不是全屏,而有的时候我们的需求是要求Dialog宽度为全屏,或者宽度和高度为全屏。这里我说以下怎么做
首先创建一个类,继承Dialog重写里面的构造方法,我们会发现,在构造里面会向其父类传一个style,那么我们今天整个内容就从这个style开始吧
首先在Value文件夹的styles定义我们自己的样式,我先贴出我自己代码中的样式
<style name="dialog" parent="@android:style/Theme.Dialog"> <!-- 有无边框 --> <item name="android:windowFrame">@null</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsFloating">true</item> <!-- 是否透明 --> <item name="android:windowIsTranslucent">true</item> <!-- 背景透明 --> <item name="android:windowBackground">@color/white</item> <!-- 模糊 --> <item name="android:backgroundDimEnabled">true</item> <!--无标题 --> <item name="android:windowNoTitle">true</item> </style>
下来就是使用我们自己的style,我们在我们定义的dialog中有个构造方法就可以设置style
public PackageDialog(Context context) { super(context, R.style.dialog); setOwnerActivity((Activity) context); }
最后最重要的就是设置全屏,我们重写show()方法,里面添加设置全屏的代码就可以了,这里我不多解释直接上代码
@Override public void show() { super.show(); /** * 设置宽度全屏,要设置在show的后面 */ WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.gravity = Gravity.BOTTOM; layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT; getWindow().getDecorView().setPadding(0, 0, 0, 0); getWindow().setAttributes(layoutParams); }
这里我们基本上设置自定义dialog全屏已经结束,但是可能会有些人不知道怎么加载我们自己定义的布局,加载布局也是在构造里面。
public PackageDialog(Context context) { super(context, R.style.dialog); setOwnerActivity((Activity) context); setContentView(R.layout.coupons_dialog_layout); }
加载布局就是通过setContentView(),是不是很熟悉,没错就是在Activity中我们加载布局也是这么干。所以后面的操作你就像在Activity中操作就可以了。
好了今天就到这里了,欢迎各位大爷下次再来玩啊…
阅读全文
0 0
- Android修改自定义Dialog为全屏
- android - 自定义全屏dialog
- Android-->Dialog/DialogFragment宽度高度修改/全屏,自定义样式
- Android-->Dialog/DialogFragment宽度高度修改/全屏,自定义样式
- android最简单的自定义全屏Dialog
- 【android】自定义全屏dialog显示+listview
- android 设置自定义dialog全屏显示
- 自定义dialog宽度全屏
- android初学------设置Activity为dialog样式 全屏显示
- android之theme为dialog的activity全屏问题解决办法
- Android dialog全屏
- Android Dialog 全屏
- Android dialog 全屏
- Android dialog全屏显示
- Android Dialog全屏
- Android全屏Dialog
- android 如何修改自定义dialog的宽度
- 自定义Dialog android Dialog
- Literature Lesson CodeForces
- pip安装以及使用
- uboot官网
- 比较全面的GDB调试命令
- 树的子结构
- Android修改自定义Dialog为全屏
- 数据结构实验之栈六:下一较大值(二)
- 国产芯片的问题
- 暴力
- D
- JS 设计思维、选择结构
- 深入理解HTTP Session
- PAT 1063计算谱半径
- 【guava.jar】LoadingCache的使用