前言
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了曹妃甸免費(fèi)建站歡迎大家使用!
在實(shí)際項(xiàng)目中有很多場景需要用到彈窗,如圖1
那么這些彈窗在Smobiler中如何實(shí)現(xiàn)呢?
正文
Smobiler實(shí)現(xiàn)彈窗有兩種方式:1.MessageBox.Show 2.ShowDialog和ShowContextDialog。前者適合簡易彈窗,后者適合自定義彈窗。
MessageBox
實(shí)現(xiàn)代碼?
MessageBox.Show("這是個(gè)彈窗", "彈窗標(biāo)題", MessageBoxButtons.YesNo, (obj, args) =>
???????????? {
???????????????? if (args.Result == ShowResult.No) { }
???????????? });
效果圖
MessageBox的屬性方法具體說明參照(https://www.smobiler.com/Help/html/T_Smobiler_Core_Controls_MobileMessageBox.htm)? MessageBoxButtons用于指定 MessageBox 上將顯示的按鈕,這種彈窗適合作為提示框或者二次確認(rèn)框。
成員名稱 | 說明 |
MessageBoxButtons.AbortRetryIgnore | 顯示“中止”、“重試”和“忽略”按鈕 |
MessageBoxButtons.OK | 顯示確定”按鈕 |
MessageBoxButtons.OKCancel | 顯示確定”和“取消”按鈕按鈕 |
MessageBoxButtons.RetryCancel | 顯示“重試”和“取消”按鈕 |
MessageBoxButtons.YesNo | 顯示“是”和“否”按鈕 |
MessageBoxButtons. YesNoCancel | 顯示是”、“否”和“取消”按鈕 |
ShowDialog和ShowContextDialog
ShowDialog和ShowContextDialog具體方法詳見文檔(https://www.smobiler.com/Help/html/Methods_T_Smobiler_Core_Controls_MobileLayoutControl.htm) 該方法彈窗樣式是新建UserControl類,在UserControl類實(shí)現(xiàn)樣式并通過ShowDialog或者ShowDialog彈出UserControl,ShowDialog與ShowContextDialog用法相同,區(qū)別在與ShowContextDialog是用在戶點(diǎn)擊處彈出彈窗,而ShowDialog彈出的位置則是固定的。
接下來實(shí)現(xiàn)圖1(b),帶輸入框的彈窗。首先新建一個(gè)SmobilerUserControl類,命名為EditPwd,布局如下
??
?? 在Button的press事件中寫入如下代碼
???? ShowDialog(new EditPwd());// ShowContextDialog(new EditPwd());
效果圖
?????
圖1(c)的彈窗是從底部彈出,首先新建一個(gè)SmobilerUserControl類,命名為TipLayout,布局仿照?qǐng)D1(c),此處省略,具體代碼
/* DialogOptions參數(shù)說明
? * justifyAlign: LayoutJustifyAlign.FlexEnd 布局顯示在最下面
? * backColor: System.Drawing.Color.FromArgb(128, 128, 128, 128) 整個(gè)Dialog的背景色
? * padding: Padding.Empty 設(shè)置內(nèi)邊框?yàn)榭?,就是全屏顯示
? * touchClosed: true 是否點(diǎn)擊空白處關(guān)閉
????????????????????????? */
? DialogOptions footerDialogOptions;
???????????? footerDialogOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, 128), Padding.Empty, true);
???????????? ShowDialog(new TipLayout(), footerDialogOptions);
效果圖
??
?? 默認(rèn)的DialogOptions為: JustifyAlign = Center, Padding = 20, BackColor = 200,128,128,128, AnimationType = None, TouchClosed = true,所以ShowDialog(new EditPwd())的彈窗是在中間。