自定义对话框两边有间距问题
来源:互联网 发布:西安java培训哪个好 编辑:程序博客网 时间:2024/05/02 04:34
一般我们自定义对话框,都会设置如下的style属性:
<style name="MyDialogStyleBottom" parent="android:Theme.Dialog"> <item name="android:windowFrame">@null</item> <!-- 边框 --> <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsTranslucent">true</item> <!-- 半透明 --> <item name="android:windowNoTitle">true</item> <!-- 无标题 --> <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景透明 --> <item name="android:backgroundDimEnabled">true</item> <!-- 模糊 --> <item name="android:windowContentOverlay">@null</item> <!-- 对话框是否有遮盖 --> <item name="android:colorBackgroundCacheHint">@null</item> <!-- 背景缓存颜色 --> <item name="android:windowCloseOnTouchOutside">true</item> <!-- 点击外部消失 --> </style>
但是我们会发现一个问题,左右两边总会有一些间距。明明布局都设置成了match_parent。而且,在Graphical Layout那里显示也是正常的。不过一运行,就出现问题了。
问题图片:
折腾了一段时间,才发现,原来是这句出了问题
<style name="MyDialogStyleBottom" parent="android:Theme.Dialog">
在android:Theme.Dialog里,我发现了一段代码:
<item name="listPreferredItemPaddingLeft">10dip</item> <item name="listPreferredItemPaddingRight">10dip</item> <item name="listPreferredItemPaddingStart">10dip</item> <item name="listPreferredItemPaddingEnd">10dip</item>
原来问题就出在这里。Theme.Dialog里默认设定了padding=10dip,而且貌似还是将布局自动居中的。然后,我就解决问题了:
@SuppressWarnings("deprecation") private void initWindow() { WindowManager manager = getWindowManager(); Display display = manager.getDefaultDisplay(); android.view.WindowManager.LayoutParams lp = getWindow() .getAttributes(); lp.gravity = Gravity.BOTTOM; lp.width = display.getWidth() * 1; getWindow().setAttributes(lp); }
通过在java文件里,对布局进行宽度的限制以及布局的设定。然后,就OK了!
0 0
- 自定义对话框两边有间距问题
- android 解决自定义actionbar左右两边有间距问题记录
- 自定义 actionbar 两边有空隙问题
- 自定义SeekBar(ProgressBar实现SeekBar效果)去除两边间距
- 自定义toolbar左右两边空白的问题
- Toolbar自定义View左边有间距
- Android 自定义Toolbar/ActionBar视图左右两边有空白
- <li>标签之间有间距的问题
- android ratingbar 星星间距问题,自定义ratingBar
- 自定义toolbar时,左边始终会有间距
- iOS解决tableView左边分割线有间距问题
- 关于IDEA菜单之间有间距的问题
- iOS7自定义返回出现左边间距过大的问题
- InstallShield自定义对话框以及问题
- 解决自定义actionbar 两边空隙
- 经典问题五.(乘号两边有正负 区间dp)Polygon poj 1179
- 自定义cell的间距
- 自定义TextView字间距
- HOJ 1438 The Tower of Babylon(线性DP)
- 51NOD 1428 活动安排问题
- apache和nginx的区别
- Organize Your Train part II-POJ3007模拟
- vs2010调用matlab
- 自定义对话框两边有间距问题
- Verilog $random用法
- oracle常用语法-查询<四>
- 数据可视化(Matlab)丨绘制绘制二维、三维和四维图形以及图形编辑与函数图形的绘制
- leetcode学习笔记1
- bootstrap学习总结
- 指针与const限定符
- 练习CSDN-Markdown 输入数学公式
- iOS开发-项目的完整重命名方法