Smobiler实现手机弹窗
前言
在实际项目中有很多场景需要用到弹窗,如图1

那么这些弹窗在Smobiler中如何实现呢?
正文
Smobiler实现弹窗有两种方式:1.MessageBox.Show 2.ShowDialog和ShowContextDialog。前者适合简易弹窗,后者适合自定义弹窗。
MessageBox
实现代码
MessageBox.Show("这是个弹窗", "弹窗标题", MessageBoxButtons.YesNo, (obj, args) =>
{
if (args.Result == ShowResult.No) { }
});
效果图

MessageBox的属性方法具体说明参照(https://www.smobiler.com/Help/html/T_Smobiler_Core_Controls_MobileMessageBox.htm) MessageBoxButtons用于指定 MessageBox 上将显示的按钮,这种弹窗适合作为提示框或者二次确认框。
|
显示“重试”和“取消”按钮 显示“是”和“否”按钮 显示是”、“否”和“取消”按钮
|
|||||||||||||||
ShowDialog和ShowContextDialog
ShowDialog和ShowContextDialog具体方法详见文档(https://www.smobiler.com/Help/html/Methods_T_Smobiler_Core_Controls_MobileLayoutControl.htm) 该方法弹窗样式是新建UserControl类,在UserControl类实现样式并通过ShowDialog或者ShowDialog弹出UserControl,ShowDialog与ShowContextDialog用法相同,区别在与ShowContextDialog是用在户点击处弹出弹窗,而ShowDialog弹出的位置则是固定的。
接下来实现图1(b),带输入框的弹窗。首先新建一个SmobilerUserControl类,命名为EditPwd,布局如下

在Button的press事件中写入如下代码
ShowDialog(new EditPwd());// ShowContextDialog(new EditPwd());
效果图

图1(c)的弹窗是从底部弹出,首先新建一个SmobilerUserControl类,命名为TipLayout,布局仿照图1(c),此处省略,具体代码
/* DialogOptions参数说明
* justifyAlign: LayoutJustifyAlign.FlexEnd 布局显示在最下面
* backColor: System.Drawing.Color.FromArgb(128, 128, 128, 128) 整个Dialog的背景色
* padding: Padding.Empty 设置内边框为空,就是全屏显示
* touchClosed: true 是否点击空白处关闭
*/
DialogOptions footerDialogOptions;
footerDialogOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, 128), Padding.Empty, true);
ShowDialog(new TipLayout(), footerDialogOptions);
效果图

默认的DialogOptions为: JustifyAlign = Center, Padding = 20, BackColor = 200,128,128,128, AnimationType = None, TouchClosed = true,所以ShowDialog(new EditPwd())的弹窗是在中间。
Smobiler实现手机弹窗的更多相关文章
- layer弹窗的操作方法
1.首先去http://layer.layui.com/下载插件 2.在网站上有演示说明 3.操作方法如何 <script src="../js/layer/layer.js" ...
- 第一个Appium脚本
测试环境 Win 10 64bit Python 3.5 Appium 1.7.2 Andriod 5.1.1 模拟器& Android 5.1 MX4 测试App:考研帮Android版 3 ...
- HMS Core新闻行业解决方案:让技术加上人文的温度
开发者们,你希望用户如何获取新闻? 有的人靠手机弹窗知天下事,有的人则在新闻应用中尽览每一篇文章:有的人一目十行,有的人则喜欢细细咀嚼:有的人主动探索,有的人则想要应用投其所好. 科技在不断刷新着用户 ...
- .Net语言 APP开发平台——Smobiler学习日志:手机应用的TextTabBar快速实现方式
参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-put.html http://www.yuanjiaocheng.net/we ...
- .Net语言 APP开发平台——Smobiler学习日志:快速实现手机上的图片上传功能
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- .Net语言 APP开发平台——Smobiler学习日志:实现手机上常见的ListMenuView
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- 手机连上wifi热点后自动弹窗的功能
使用buildroot编译bind DNS服务器 用buildroot来制作文件系统很方便,编译出来的文件系统是直接可用的,不用添加脚本等麻烦的工作,很多的库和app都可以直接添加到文件系统里边,如常 ...
- 手机连接wifi自动弹窗的原理及其实现方案
一.手机连上wifi后会自动弹窗的原理 生活中,有很多需要认证的路由器,手机连接wifi热点后会自动弹出一个网页,让用户输入账号和密码,比如星巴克,肯地基,麦当劳,甚至是火车站和机场的候车室.其实这是 ...
- .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速调用电话拨打功能
样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobiler Components”拖动一个PhoneButton控件到窗体界面上 2.修改PhoneButton ...
随机推荐
- NPM切换源
可以试试切换下你的NPM源.看是否能得到解决.国内的NPM有CNPM和淘宝的NPM源比较稳定.npm源切换和工具可参照站内贴 nrm工具的使用或者是直接用命令切换 npm config set r ...
- TemplatePart用法说明
原文:TemplatePart用法说明 TemplatePart(Name="PART_Decrease", Type=typeof(RepeatButton)) 一直没明白这是干 ...
- libuv和libev 异步I/O库的比较
libuv 和 libev ,两个名字相当相近的 I/O Library,最近有幸用两个 Library 都写了一些东西,下面就来说一说我本人对两者共同与不同点的主观表述. 高性能网络编程这个话题已经 ...
- springboot 集成swagger ui
springboot 配置swagger ui 1. 添加依赖 <!-- swagger ui --> <dependency> <groupId>io.sprin ...
- WPF SystemParameters的使用
SubWindow win = new SubWindow(); //win.Width = SystemParameters.WorkArea.Width; ...
- Win10《芒果TV》跨年邀你嗨唱,同步直播《湖南卫视2017-2018跨年演唱会》
由天天兄弟.快本家族联袂主持,不容错过的年度盛典<湖南卫视2017-2018跨年演唱会>将于2017年12月31日19:30起由芒果TV同步直播,果妈备上礼物邀您一起跨年嗨唱. 跨年邀你嗨 ...
- Advanced Installer 中测试数据库连接提示“未发现数据源名称并且未指定默认驱动程序”的解决办法
原文:Advanced Installer 中测试数据库连接提示"未发现数据源名称并且未指定默认驱动程序"的解决办法 最近需要制作一个安装包,安装包的要求如下: 1.用户手工填写M ...
- CRS-2800: Cannot start resource 'ora.asm' as it is already in the INTERMEDIATE state on server ‘RAC02’
在安装ORACLE RAC的Grid Infrastructure时,在节点1运行/u01/app/11.2.0/grid/root.sh正常,当在节点2运行/u01/app/11.2.0/grid/ ...
- 比快更快——微软LightGBM
LightGBM介绍 xgboost是一种优秀的boosting框架,但是在使用过程中,其训练耗时过长,内存占用比较大.微软在2016年推出了另外一种boosting框架--lightgbm,在不降低 ...
- 解释下Func<T, bool> exp
比如 interface IRepository<T> where T:class { IEnumerable<T> FindAll(Func<T, bool> e ...