不介绍知识点只记录一些可能运用的,但不易记住的需求。(个人倾向于代码中每个小点直接控制,而不是一次性使用,更改dialog主题)
1. 消除阴影(自定义dialog,继承)
Window window = getWindow(); window.setBackgroundDrawable(new ColorDrawable());//去除阴影
2.背景透明(同上,附带的消除了阴影)
window.setBackgroundDrawableResource(android.R.color.transparent);
3.出现位置和大小,也就是相对初始位置
Window window = getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); (1)lp.y = 300; (2)lp.width = 20; lp.height = 20; window.setAttributes(lp); (3)window.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
上面的设置显示为,(2)宽高20px,(3)从屏幕最上方出现、水平居中,(1)距上方300px。
4.点击外部消失(我是用dialog就是想不能点击外部,popwindow禁这一个功能比较费事,而且我的项目中有的view比activity的层级还高,想要实现就更加的困难了,当然了还是希望又大神能够指点一下,感谢感谢)
setCanceledOnTouchOutside(false);
此时点击外部无作用(也就是我需要的)。
setCanceledOnTouchOutside(true);
此时点击外部dialog会关闭。