-
Notifications
You must be signed in to change notification settings - Fork 207
Dialog怎么用 Step6
zhangxin-it edited this page Dec 11, 2019
·
3 revisions
完整Demo:DialogDemo.lua
当前业务需要弹窗,说起弹窗需要的操作,无非显示弹窗,弹窗消失,弹窗内添加内容,下面就围绕这几个点来介绍Dialog
dialog = Dialog()
---初始化一个用户填充dialog的线性布局baseView
baseView = LinearLayout(LinearType.VERTICAL)
baseView:width(MeasurementType.MATCH_PARENT):height(MeasurementType.WRAP_CONTENT):marginLeft(40):marginRight(40)
baseView:setGravity(Gravity.CENTER)
baseView:bgColor(Color(255,255,255,1.0))
baseView:cornerRadius(7)
baseView:clipToBounds(true)
---dialog填充
dialog:setContent(baseView)
上面代码可以发现,我们并没有像其他布局一样,在初始化Dialog的同时,来调节他的样式。因为初始化后,整个屏幕其实就是一个Dialog,你可以向其中填充你想要显示的View而填充后还空出的区域就是蒙层了。我们定义了一个baseView来填充Dialog,并设定点击蒙层Dialog自动隐藏。下面我们就介绍一下Dialog还有哪些常用的方法。
---将dialog隐藏
dialog:dialogDisAppear(function()
print("我隐藏啦,dialog!!!")
end)
---点击屏幕显示dialog
window:onClick(function()
dialog:show()
end)
上述代码执行后,可发现dialog先被我们隐藏了,我们点击屏幕后展示dialog,除了baseView的其他区域为蒙层,再次点击屏幕后dialog隐藏。下面是一些dialog的方法
cancelable(boolean bool) | 点击蒙版是否可取消,默认点击可以取消 |
void show() | 显示弹窗 |
void dismiss() | 取消弹窗 |
void setContent(View v) | 设置内容view |
void dialogDisAppear(Callback fun) | dialog的消失回调 |