[安卓开发] 完美解决Dialog不能全屏
来源:互联网 发布:win10网络设置在哪 编辑:程序博客网 时间:2024/05/22 18:56
为什么布局设置了match_parent还是不能全屏呢?
看dialog的show的源码:
public void show() { if (mShowing) { if (mDecor != null) { if (mWindow.hasFeature(Window.FEATURE_ACTION_BAR)) { mWindow.invalidatePanelMenu(Window.FEATURE_ACTION_BAR); } mDecor.setVisibility(View.VISIBLE); } return; } mCanceled = false; if (!mCreated) { dispatchOnCreate(null); } onStart(); mDecor = mWindow.getDecorView(); if (mActionBar == null && mWindow.hasFeature(Window.FEATURE_ACTION_BAR)) { final ApplicationInfo info = mContext.getApplicationInfo(); mWindow.setDefaultIcon(info.icon); mWindow.setDefaultLogo(info.logo); mActionBar = new WindowDecorActionBar(this); } WindowManager.LayoutParams l = mWindow.getAttributes(); if ((l.softInputMode & WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION) == 0) { WindowManager.LayoutParams nl = new WindowManager.LayoutParams(); nl.copyFrom(l); nl.softInputMode |= WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION; l = nl; } try { mWindowManager.addView(mDecor, l); mShowing = true; sendShowMessage(); } finally { } }
可以看出,大小在show的时候设置的。在show之前,即使动态改变这个layoutParams,也是不行的。
解决方法1:
首先style:
<style name="CommentStyle" parent="@android:style/Theme.Dialog"> <item name="android:windowFullscreen">true</item> <item name="android:windowNoTitle">true</item></style>
dilaog里面的setContentView下面
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
方法二
dialog里面重写show()
@Override public void show() { super.show(); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) view.getLayoutParams(); DisplayMetrics dm = new DisplayMetrics(); WindowManager manager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); manager.getDefaultDisplay().getMetrics(dm); layoutParams.width = dm.widthPixels; layoutParams.height = dm.heightPixels; view.setLayoutParams(layoutParams); }
0 0
- [安卓开发] 完美解决Dialog不能全屏
- 解决安卓自定义Dialog不能水平填满屏幕
- 安卓fragmentTransaction.replace不能全屏问题
- 安卓开发自定义dialog
- 安卓设置全屏,弹出式dialog窗体设置大小,位置。
- 安卓开发动态设置全屏
- 安卓开发全屏实现方法
- 安卓6.0相机权限完美解决
- dialog有时不能全屏,遮挡问题
- 安卓开发之自定义Dialog
- 完美解决MVC下使用jQuery UI Dialog Confirm不能确认
- 安卓开发之完美解决ADT和SDK不一致问题
- 解决fragmentTransaction.replace不能全屏
- 解决CS、CF 不能全屏
- unity3D 完美解决 全屏输入法问题
- 安卓全屏设置
- 最简单的方法解决虚拟机不能使用ADB连接开发安卓
- 【Android开发点滴】解决安卓6.0以上版本不能读取外部存储权限的问题
- 欢迎使用CSDN-markdown编辑器
- 码神-day10-java
- 关于anaconda3下安装opencv3
- 用单链表实现大数相加,相乘
- Java网络编程学习笔记(二)流
- [安卓开发] 完美解决Dialog不能全屏
- HDU-1698 Just a Hook(线段树模板)
- java文件操作
- jsp在Servlet下载图片和远程加载Servlet上的图片
- Tomcat集群和Session共享的配置方法
- 第29天:控制进度,控制进度知识点,敏捷中控制进度知识点
- Andoid 总线设计 (三)
- 浅谈安卓中的MVP模式
- 利用Python实现简单的相似图片搜索