AlertDialog弹出时背景明暗程度调整
今天有个需求是把弹出AlertDialog时的变暗的背景调整得不要那么暗。
一开始懒惰就直接百度中文搜索,结果找到的代码试了几次都不行。
后来老老实实开google、stackoverflow搜索,搜出页面:StackOverflow问答页面,然后再去看了看谷歌文档:dimAmount变量说明,才把效果实现了。
直接展示使用代码,直观有效率:
1 //创建一个AlertDialog 2 AlertDialog alertDialog = new AlertDialog.Builder(context).setView(dialogView).create(); 3 //展示AlertDialog 4 alertDialog.show(); 5 //调整明暗度的代码一定要在show()之后执行 6 //获取一个LayoutParams对象用于后面设置回去 7 WindowManager.LayoutParams lp = alertDialog.getWindow().getAttributes(); 8 //调整明暗度,float值,完全透明不变暗是0.0f,完全变暗不透明是1.0f 9 lp.dimAmount=0.0f; 10 //必须要设置回去 11 alertDialog.getWindow().setAttributes(lp); 12 //根据谷歌文档,给对应的Window添加FLAG_DIM_BEHIND标志位,dimAmount值才有效。 13 alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount设为0.0f的效果:

dimAmount设为1.0f的效果:


浙公网安备 33010602011771号